Pages : 1
#1 Le 05/03/2020, à 12:27
- ar barzh paour
[Résolu] tri par date
bonjour à tous
en bash , je récupère une liste de fichiers avec cette commande
find "$rep" -maxdepth $s_r -iname "*.txt" > "$liste_fich"
est-il possible d'obtenir cette liste triée par la date du fichier concerné ? (du plus récent au plus ancien)
Dernière modification par ar barzh paour (Le 05/03/2020, à 18:02)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#2 Le 05/03/2020, à 12:47
- pingouinux
Re : [Résolu] tri par date
Bonjour,
Par exemple :
find "$rep" -maxdepth $s_r -iname "*.txt" -exec stat -c "%X %n" {} \; | sort -nr > "$liste_fich"
À adapter en fonction de ce que tu veux en sortie.
Édité : C'est la date de dernier accès qui est prise en compte ci-dessus. Voir le message #7 avec la version corrigée (date de dernière modification).
Dernière modification par pingouinux (Le 05/03/2020, à 17:18)
Hors ligne
#3 Le 05/03/2020, à 12:48
- Watael
Re : [Résolu] tri par date
salut,
directement, avec find, non.
find ... -printf '%T@ %p\0' | sort -z -k1,1n | cut -z -d ' ' -f2- | xargs -0 -I _ echo _
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 05/03/2020, à 14:55
- ar barzh paour
Re : [Résolu] tri par date
merci à tous les deux pour cette réponse toujours rapide ! moi j'en reviens pas !!!!!
j'ai utilisé
rep="/media/Data/informatique/cmd"
s_r=2
find "$rep" -maxdepth $s_r -iname "*.txt" -exec stat -c "%X %n" {} \; | sort -nr >l1.txt
find "$rep" -maxdepth $s_r -iname "*.txt" -printf '%T@ %p\0' | sort -z -k1,1n | cut -z -d ' ' -f2- | xargs -0 -I _ echo _ >l2.txt
@Watael
ça a l'air de fonctionner en ordre inverse voulu, mais c'est pas grave : je pense que
sort -z k1,1r
devrait me donner le résultat attendu )
(j'ai pas trop compris le -I de xargs -0 -I _ echo _ )
ici j'ai rajouté en fin la date donnée par nautilus
les dernières lignes
/media/Data/informatique/cmd/ dd.txt 2020/02/18
/media/Data/informatique/cmd/ Sauvegardes.txt 2020/02/21
/media/Data/informatique/cmd/ boot.txt 2020/02/28
/media/Data/informatique/cmd/ SATA-sdx-hdx.txt 2020/02/29
/media/Data/informatique/cmd/ gps.txt 2020/03/01
/media/Data/informatique/cmd/ grub5.txt 2020/03/01
/media/Data/informatique/cmd/ usb1.txt 2020/03/02
/media/Data/informatique/cmd/ rkfill.txt 2020/03/03
/media/Data/informatique/cmd/ journal.txt 2020/03/03
/media/Data/informatique/cmd/ admin.txt 2020/03/03
/media/Data/informatique/cmd/ grub.txt 2020/03/03
/media/Data/informatique/cmd/ grub-réinstallation.txt 2020/03/05 10:23:00
@ pingouinux
il y a des anomalies , des fichiers 2018-2019 avant ceux de 2020
le fichier usb1.txt du 2/3/2020 se trouve en 128ème position donc très loin du début ?
le résultat (quelques lignes de début)
la dernière colonne est la date donnée par nautilus
1583400621 /media/Data/informatique/cmd/ grub-réinstallation.txt 05/05/20 10:23:00
1583399580 /media/Data/informatique/cmd/ xrandr.txt 02/11/19
1583399580 /media/Data/informatique/cmd/ xargs.txt 18/03/18
1583399580 /media/Data/informatique/cmd/ wifichecklog.txt 10/12/18
1583399580 /media/Data/informatique/cmd/ usb.txt 26/07/19
1583399580 /media/Data/informatique/cmd/ truc.txt 16/12/18
1583399580 /media/Data/informatique/cmd/ trad.txt 17/12/18
1583399580 /media/Data/informatique/cmd/ systemd.txt 03/12/18
1583399580 /media/Data/informatique/cmd/ systemd-1.txt 04/12/18
1583399580 /media/Data/informatique/cmd/ synaptic-mise_a_jour.txt 26/12/19
1583399580 /media/Data/informatique/cmd/ swap.txt 21/11/18
1583399580 /media/Data/informatique/cmd/ sudo.txt 21/11/18
1583399580 /media/Data/informatique/cmd/ ssh.txt 09/12/18
Dernière modification par ar barzh paour (Le 05/03/2020, à 15:39)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#5 Le 05/03/2020, à 15:34
- ar barzh paour
Re : [Résolu] tri par date
le résultat des premières lignes avec
find "$rep" -maxdepth $s_r -iname "*.txt" -printf '%T@ %p\0' | sort -z -k1,1r |sort -r | cut -z -d ' ' -f2- | xargs -0 -I _ echo _>l3.txt
/media/Data/informatique/cmd/grub-réinstallation.txt
/media/Data/informatique/cmd/grub.txt
/media/Data/informatique/cmd/admin.txt
/media/Data/informatique/cmd/journal.txt
/media/Data/informatique/cmd/rkfill.txt
/media/Data/informatique/cmd/usb1.txt
/media/Data/informatique/cmd/grub5.txt
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#6 Le 05/03/2020, à 15:44
- Watael
Re : [Résolu] tri par date
heu, mais pourquoi deux sort ?
un seul sort -t ' ' -z -k1,1nr devrait faire le job...
autrement, le format te convient, ou tu veux séparer le répertoire et le nom des fichiers ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 05/03/2020, à 17:15
- pingouinux
Re : [Résolu] tri par date
il y a des anomalies , des fichiers 2018-2019 avant ceux de 2020
Au temps pour moi, j'ai pris la date de dernier accès au lieu de dernière modification.
Ceci devrait mieux convenir.
find "$rep" -maxdepth $s_r -iname "*.txt" -exec stat -c "%Y %n" {} \; | sort -nr > "$liste_fich"
Hors ligne
#8 Le 05/03/2020, à 17:27
- Watael
Re : [Résolu] tri par date
pourquoi appeler stat quand find peut afficher les mêmes informations avec une précision moindre ?
en peut en plus avec find indiquer un caractère de fin de "ligne" NULL.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 05/03/2020, à 17:30
- pingouinux
Re : [Résolu] tri par date
Je suis d'accord Watael, mais j'ai corrigé ma proposition initiale.
Hors ligne
#10 Le 05/03/2020, à 17:41
- ar barzh paour
Re : [Résolu] tri par date
@watael
sort -r est un oubli de suppression de ma part
find "$rep" -maxdepth $s_r -iname "*.txt" -printf '%T@ %p\0' | sort -z -k1,1r |sort -r | cut -z -d ' ' -f2- | xargs -0 -I _ echo _>l3.txt
la commande que j'ai utilisée
find "$rep" -maxdepth $s_r -iname "*.txt" -printf '%T@ %p\0' | sort -z -k1,1r | cut -z -d ' ' -f2- | xargs -0 -I _ echo _>l3.txt
@ pingouinux
ça m'a permis de revoir la commande stat
et ça me parait mieux , le résultat (les 3 1ères lignes sont d'aujourd'hui)
1583425516 /media/Data/informatique/cmd/date1.txt
1583424864 /media/Data/informatique/cmd/cut.txt
1583419682 /media/Data/informatique/cmd/SATA-sdx-hdx.txt
1583400204 /media/Data/informatique/cmd/grub-réinstallation.txt
1583247630 /media/Data/informatique/cmd/grub.txt
1583220571 /media/Data/informatique/cmd/admin.txt
1583218305 /media/Data/informatique/cmd/journal.txt
1583216980 /media/Data/informatique/cmd/rkfill.txt
1583150178 /media/Data/informatique/cmd/usb1.txt
1583054915 /media/Data/informatique/cmd/grub5.txt
Dernière modification par ar barzh paour (Le 05/03/2020, à 17:41)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#11 Le 05/03/2020, à 17:41
- Watael
Re : [Résolu] tri par date
revoir la ligne de commande intégralement réveille le traumatisme.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 05/03/2020, à 17:44
- ar barzh paour
Re : [Résolu] tri par date
@watael
le format me va bien , je réutilise chaque nom complet par la suite
un commentaire/explication sur -I _ echo _
xargs -0 -I _ echo _
?
-I chaîne-remplacement
Remplacer les occurrences de chaîne-remplacement dans les pa‐
ramètres initiaux par les noms lus sur l'entrée standard. Dans
ce cas, les blancs non protégés ne sont pas considérés comme
terminant les items en entrée. Implique -x et -L 1.
je pense avoir compris !
-I _ : _ est remplacé par le nom d'un fichier
et donc on fait un echo sur ce nom
Dernière modification par ar barzh paour (Le 05/03/2020, à 18:00)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#13 Le 05/03/2020, à 18:02
- Watael
Re : [Résolu] tri par date
oui, c'est ça.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 05/03/2020, à 19:09
- kamaris
Re : [Résolu] tri par date
pourquoi appeler stat quand find peut afficher les mêmes informations avec une précision moindre ?
en peut en plus avec find indiquer un caractère de fin de "ligne" NULL.
Juste pour préciser, stat aussi permet d'ajouter un caractère nul de fin de ligne (en reprenant l'exemple en #7) :
stat --printf="%Y %n\0"
Hors ligne
#15 Le 05/03/2020, à 20:28
- ar barzh paour
Re : [Résolu] tri par date
hé bien ça deux deux solutions
merci à tous
à propos de
cut -z -d ' ' -f2-
j'ai constaté qu'il manquait dans le man de ma version la description de l'option -z
Dernière modification par ar barzh paour (Le 05/03/2020, à 20:29)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#16 Le 05/03/2020, à 20:55
- kamaris
Re : [Résolu] tri par date
Tu utilises ubuntu 14.04 ?
Parce qu'effectivement, ça ne figure pas dans le manuel de cut sur 14.04 : https://manpages.ubuntu.com/manpages/tr … cut.1.html
Même si manifestement, l'option existe.
Comme pour tous les filtres en général, elle spécifie que le délimiteur de fin de ligne est le caractère nul :
-z, --zero-terminated
line delimiter is NUL, not newline
Hors ligne
Pages : 1