#1 Le 28/08/2022, à 09:43
- k3c
Exclure des fichiers de la commande ls
Bonjour
J'avais noté que si je fais
shopt -s extglob
ls /dev/sd*!(a)
/dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdb1 /dev/sdb2
je ne liste pas sda
Je me suis dit, je lance des téléchargements de Captvty, donc des fichiers .tmp.mp4 vont etre créés
et ces fichiers seront renommés en .mp4 quand ils seront complets
donc la commande suivante va me montrer uniquement les fichiers dont le téléchargement est terminé
ls Vidéos/Captvty/Bag*!(.tmp.mp4)
'Vidéos/Captvty/Baghdad Central (1-6) (-16)_Arte_2022_08_12_00_54.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (2-6) (-16)_Arte_2022_08_12_01_42.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (3-6) (-16)_Arte_2022_08_19_00_51.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (4-6) (-16)_Arte_2022_08_19_01_39.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (5-6) (-16)_Arte_2022_08_26_00_49.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (6-6) (-16)_Arte_2022_08_26_01_38.tmp.mp4'
pas mieux avec
ls Vidéos/Captvty/Bag*!(\.tmp\.mp4)
'Vidéos/Captvty/Baghdad Central (1-6) (-16)_Arte_2022_08_12_00_54.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (2-6) (-16)_Arte_2022_08_12_01_42.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (3-6) (-16)_Arte_2022_08_19_00_51.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (4-6) (-16)_Arte_2022_08_19_01_39.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (5-6) (-16)_Arte_2022_08_26_00_49.tmp.mp4'
'Vidéos/Captvty/Baghdad Central (6-6) (-16)_Arte_2022_08_26_01_38.tmp.mp4'
merci pour toute idée
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2 Le 28/08/2022, à 09:58
- iznobe
Re : Exclure des fichiers de la commande ls
Bonjour , si tu ne veux pas afficher les fichiers .tmp alors :
ls -I '*.tmp*'
man ls
pour plus d' explications sur le fonctionnement de la commande ls .
Dernière modification par iznobe (Le 28/08/2022, à 10:02)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#3 Le 28/08/2022, à 10:02
- diesel
Re : Exclure des fichiers de la commande ls
ls | grep -v tmp.mp4$
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#4 Le 28/08/2022, à 10:03
- iznobe
Re : Exclure des fichiers de la commande ls
si tu ne veux pas afficher les fichiers avec " .tmp.mp4 " a la fin tu peux aussi faire :
ls -I '*.tmp.mp4' Vidéos/Captvty/Bag
Dernière modification par iznobe (Le 28/08/2022, à 10:05)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#5 Le 28/08/2022, à 11:03
- kamaris
Re : Exclure des fichiers de la commande ls
ls Vidéos/Captvty/Bag!(*.tmp.mp4)
Hors ligne
#6 Le 28/08/2022, à 11:09
- k3c
Re : Exclure des fichiers de la commande ls
merci ces réponses
le grep -v marche évidemment
Je télécharge actuellement la série
l'éveil de Dana
gg@deb11:~/Vidéos/Captvty$ ls -alrt *Dana*
-rw-r--r-- 1 gg gg 773843906 28 août 11:33 'L'\''éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4'
-rw-r--r-- 1 gg gg 644905709 28 août 11:47 'L'\''éveil de Dana (14-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 538236016 28 août 11:47 'L'\''éveil de Dana (2-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 642747581 28 août 11:47 'L'\''éveil de Dana (10-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 537518240 28 août 11:47 'L'\''éveil de Dana (5-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 642966045 28 août 11:47 'L'\''éveil de Dana (15-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 643842989 28 août 11:47 'L'\''éveil de Dana (1-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 647050762 28 août 11:47 'L'\''éveil de Dana (11-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 539809498 28 août 11:47 'L'\''éveil de Dana (7-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 537193234 28 août 11:47 'L'\''éveil de Dana (6-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 538016771 28 août 11:47 'L'\''éveil de Dana (3-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 536108976 28 août 11:51 'L'\''éveil de Dana (9-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 533007842 28 août 11:52 'L'\''éveil de Dana (8-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 640119325 28 août 11:52 'L'\''éveil de Dana (13-16)_Arte_2022_08_26_00_00.tmp.mp4'
-rw-r--r-- 1 gg gg 644710592 28 août 11:52 'L'\''éveil de Dana (12-16)_Arte_2022_08_26_00_00.tmp.mp4'
gg@deb11:~/Vidéos/Captvty$
la proposition de iznobe ne fonctionne pas (ou je l'utilise mal)
g@deb11:~/Vidéos/Captvty$ ls -I '*.tmp.mp4' L*
'L'\''éveil de Dana (10-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (3-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (11-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4'
'L'\''éveil de Dana (1-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (5-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (12-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (6-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (13-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (7-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (14-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (8-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (15-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (9-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (2-16)_Arte_2022_08_26_00_00.tmp.mp4'
gg@deb11:~/Vidéos/Captvty$
je vois les fichiers en cours .tmp.mp4 et le fichier complet .mp4
ce qui suit fonctionne
gg@deb11:~/Vidéos/Captvty$ ls -I '*.tmp*' | grep Dana
L'éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4
gg@deb11:~/Vidéos/Captvty$
par contre en faisant ce qui suit j'ai à la fois le .tmp.mp4 et les .mp4
gg@deb11:~/Vidéos/Captvty$ ls -I '*.tmp*' *Dana*
'L'\''éveil de Dana (10-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (3-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (11-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4'
'L'\''éveil de Dana (1-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (5-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (12-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (6-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (13-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (7-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (14-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (8-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (15-16)_Arte_2022_08_26_00_00.tmp.mp4' 'L'\''éveil de Dana (9-16)_Arte_2022_08_26_00_00.tmp.mp4'
'L'\''éveil de Dana (2-16)_Arte_2022_08_26_00_00.tmp.mp4'
Debian 12 sur Thinkpad reconditionné
Hors ligne
#7 Le 28/08/2022, à 11:10
- Watael
Re : Exclure des fichiers de la commande ls
shopt -s extglob ls /dev/sd*!(a)
ls Vidéos/Captvty/Bag*!(.tmp.mp4)
ls Vidéos/Captvty/Bag*!(\.tmp\.mp4)
si près du but !
$ shopt -s extglob
$ printf '%s\n' Vidéos/Captvty/Bag!(*.tmp.mp4)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 28/08/2022, à 11:11
- k3c
Re : Exclure des fichiers de la commande ls
ls Vidéos/Captvty/Bag!(*.tmp.mp4)
merci Kamaris, cela fonctionne
gg@deb11:~/Vidéos/Captvty$ ls L!(*.tmp.mp4)
'L'\''éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4'
Debian 12 sur Thinkpad reconditionné
Hors ligne
#9 Le 28/08/2022, à 11:13
- k3c
Re : Exclure des fichiers de la commande ls
k3c a écrit :shopt -s extglob ls /dev/sd*!(a)
ls Vidéos/Captvty/Bag*!(.tmp.mp4)
ls Vidéos/Captvty/Bag*!(\.tmp\.mp4)
si près du but !
$ shopt -s extglob $ printf '%s\n' Vidéos/Captvty/Bag!(*.tmp.mp4)
Merci Watael, cela fonctionne
gg@deb11:~/Vidéos/Captvty$ shopt -s extglob
gg@deb11:~/Vidéos/Captvty$ cd
gg@deb11:~$ printf '%s\n' Vidéos/Captvty/L!(*.tmp.mp4)
Vidéos/Captvty/L'éveil de Dana (4-16)_Arte_2022_08_26_00_00.mp4
gg@deb11:~$
Debian 12 sur Thinkpad reconditionné
Hors ligne
#10 Le 28/08/2022, à 14:06
- LeoMajor
Re : Exclure des fichiers de la commande ls
salut,
une commande à base d'inotify, est plus adaptée au scénario (évènement lévé à la fin d'écriture (close_write) dans un téléchargement)
dans la console A
:~$ while read ; do [[ "$REPLY" =~ \.mp4: ]] && echo "$REPLY"; done < <(inotifywait -m --timefmt '%M:%S' --format '%T:%w%f:%e' -e close_write -r ~/Téléchargements)
dans la console B, par exemple, n'importe quelle commande qui va produire une écriture dans le dossier Téléchargements
~$ wget -O ~/Téléchargements/testa.mp4 https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
dans la console A, il s'affiche
57:18:/home/toto/Téléchargements/testa.mp4:CLOSE_WRITE,CLOSE
un test conditionnel avec file -b --mime-type, serait la bienvenue aussi, pour garantir que le fichier téléchargé est bien celui qu'il prétend être (video/mp4) et non pas echo "plouf" > ~/Téléchargements/foo.mp4
Hors ligne
#11 Le 28/08/2022, à 15:39
- k3c
Re : Exclure des fichiers de la commande ls
salut,
une commande à base d'inotify, est plus adaptée au scénario (évènement lévé à la fin d'écriture (close_write) dans un téléchargement)
dans la console A:~$ while read ; do [[ "$REPLY" =~ \.mp4: ]] && echo "$REPLY"; done < <(inotifywait -m --timefmt '%M:%S' --format '%T:%w%f:%e' -e close_write -r ~/Téléchargements)
dans la console B, par exemple, n'importe quelle commande qui va produire une écriture dans le dossier Téléchargements
~$ wget -O ~/Téléchargements/testa.mp4 https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
dans la console A, il s'affiche
57:18:/home/toto/Téléchargements/testa.mp4:CLOSE_WRITE,CLOSE
un test conditionnel avec file -b --mime-type, serait la bienvenue aussi, pour garantir que le fichier téléchargé est bien celui qu'il prétend être (video/mp4) et non pas echo "plouf" > ~/Téléchargements/foo.mp4
Oui c'est une bonne idée, je connais inotify
Debian 12 sur Thinkpad reconditionné
Hors ligne