Lo so ls -t
elencherà tutti i file per ora modificata. Ma come posso limitare questi risultati solo agli ultimi file n?Come posso elencare (ls) gli ultimi 5 file modificati in una directory?
risposta
Prova utilizzando capo né coda. Se si desidera che i 5 file più di recente modificati:
ls -1t | head -5
La -1 (che è un uno) dice un file per riga e il capo dice prendere le prime 5 voci.
Se si desidera che l'ultima 5 cercare
ls -1t | tail -5
Uso tail
comando:
ls -t | tail -n 5
ls -t
file di elenco di ora di creazione, non ultima volta modificato. Utilizzare ls -ltc
se si desidera elencare i file in base all'ora dell'ultima modifica dall'ultimo al primo (dall'alto verso il basso). Così per elencare all'ultimo n: solo ls -ltc | head ${n}
A quale piattaforma/versione ti riferisci? Puoi fornire un collegamento? Guardando la [man-page di linux] (http://man7.org/linux/man-pages/man1/ls.1.html) si ottiene il contrario di ciò che si afferma: '-t ordina per tempo di modifica, prima il più nuovo – Joma
Le liste risposta accettata i nomi dei file, ma per ottenere i primi 5 file Si può anche utilizzare:
ls -lht | head -6
dove:
-l
uscite un formato elenco
-h
rende l'output leggibile dall'uomo (ovvero le dimensioni dei file vengono visualizzate in kb, mb, ecc.)
-t
sorta mettendo di file più di recente modificato prima
head -6
mostrerà 5 file perché ls
stampe la dimensione dei blocchi nella prima riga di output.
Penso che questo sia un approccio leggermente più elegante e probabilmente più utile.
uscita Esempio:
total 26960312 -[email protected] 1 user staff 1.2K 11 Jan 11:22 phone2.7.py [email protected] 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf [email protected] 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf [email protected] 1 user staff 502K 8 Jan 10:20 lab-01.pdf [email protected] 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
invertire la 'ls ordine -lrt' potrebbe aiutare qualcuno. –
Love it @PJBrunet. Ho preso l'abitudine di stare sempre con 'tharl' perché tende ad avere tutto ciò di cui ho bisogno. –