Come posso ottenere i file trovati dalla riga di comando 'trova' ordinati per data di modifica in OS X?


13

Utilizzando il Terminale Mac OS X, come posso scrivere un findcomando che ordina i risultati per data di modifica (la più recente prima)?

Esistono già domande simili, ma si riferiscono a GNU finde POSIX, ma non so se Mac OS X sia GNU o POSIX o qualcos'altro.

Risposte:


16

OS X è completamente conforme a POSIX .

Qualcosa del genere dovrebbe fare:

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

Alcune note:

  • L' -topzione in lsordinerà per mtime.
  • xargsviene utilizzato per passare i nomi dei file come argomento a ls. Nota che devi usare -print0dentro finde -0dentro xargsse hai file con spazi nei loro nomi. Inoltre, la quantità massima di argomenti è limitata dalla ARG_MAXvariabile . Per scoprire quanti sono questi, entra getconf ARG_MAX.
  • È possibile fornire -rper invertire l'ordinamento (→ prima i file più vecchi)
  • L'altra finde le lsopzioni sono - come al solito - delineate nei manuali ( man findo man ls).

ls -ltrper invertire l'ordine.
Daniel Beck

Xe li ordinerà solo all'interno di gruppi di caratteri (leggermente inferiori a) in ARG_MAXquel modo, ovviamente.
JdeBP,

Sì, grazie per l'aggiunta @JdeBP e Daniel. getconf ARG_MAXmostrerà quel numero.
slhck,

ah il mio problema ora è che sto usando questo comando in un applecript e stavo usando il risultato per leggere il contenuto di quel file. Ma ora il risultato contiene informazioni sulla data, non solo il nome del file: esegui script shell "trova / Utenti / akw / Libreria / Preferenze / ByHost / -name 'com.apple.windowserver *' -print0 | xargs -0 ls -tl | head -1 "restituisce questo ->" -rw ------- @ 1 akw staff 5512 Jun 19 07:52 /Users/akw/Library/Preferences/ByHost//com.apple.windowserver.1FC3A841-2C0C- 5F48-B746-1DEE064F6D12.plist "
zadam

@zadam quindi usa ls -tinvece di ls -tl. Il -lti dà una lista lunga comprese le date. Non sapevo cosa stavi cercando di fare esattamente, quindi mi dispiace per quello - ho pensato che ti sarebbe piaciuto vedere mtimeanche quello.
slhck,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.