Comment obtenir des fichiers trouvés par ligne de commande '' rechercher '' classés par date de modification dans OS X?


10

À l'aide du terminal Mac OS X, comment puis-je écrire une findcommande qui ordonne les résultats par date de modification (la plus récente en premier)?

Il y a déjà des questions similaires, mais elles font référence à GNU findet POSIX, mais je ne sais pas si Mac OS X est GNU ou POSIX ou quelque chose d'autre.

Réponses:


12

OS X est entièrement compatible POSIX .

Quelque chose comme ça devrait faire:

find . -type f -name "*.txt" -print0 | xargs -0 ls -tl

Quelques notes:

  • L' -toption dans lsva trier par mtime.
  • xargsest utilisé pour passer les noms de fichiers comme argument à ls. Notez que vous devez utiliser -print0in findet -0in xargssi vous avez des fichiers avec des espaces dans leurs noms. En outre, le nombre maximal d'arguments est limité par la ARG_MAXvariable . Pour savoir combien il en existe, entrez getconf ARG_MAX.
  • Vous pouvez fournir -rpour inverser l'ordre de tri (→ les fichiers les plus anciens en premier)
  • L’autre findet les lsoptions sont, comme d’habitude, décrits dans les manuels ( man findou man ls).

ls -ltrinverser l'ordre.
Daniel Beck

Xe ne les fera que trier dans des groupes de caractères (légèrement inférieurs à) ARG_MAX, ainsi, bien sûr.
JdeBP

Oui, merci pour l'addition @JdeBP et Daniel. getconf ARG_MAXmontrera ce nombre.
Slhck

ah mon problème maintenant est que j'utilise cette commande dans un script de script et que j'utilisais le résultat pour lire le contenu de ce fichier. Mais maintenant, le résultat contient des informations sur la date, et pas seulement le nom du fichier: le script shell "find / Users / akw / Bibliothèque / Preferences / ByHost / -name 'com.apple.windowserver *' -print0 | xargs -0 ls -tl | head -1 "retourne ceci ->" -rw ------- @ 1 akw staff 5512 Juin 19 07:52 /Users/akw/Library/Preferences/ByHost//com.apple.Windowserver.1FC3A841-2C0C- 5F48-B746-1DEE064F6D12.plist "
vendredi

@zadam utilise alors ls -tau lieu de ls -tl. Le -lvous donne une longue liste, y compris les dates. Je ne savais pas ce que vous essayiez de faire exactement, alors je suis désolé pour cela - je pensais que vous aimeriez le voir mtimeaussi.
Slhck
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.