Come posso elencare tutti i file in una directory e sottodirectory in ordine cronologico inverso?
Domanda
Voglio fare qualcosa di simile ls -t
ma hanno anche i file nelle sottodirectory inclusi. Ma il problema è che non voglio che l'output sia formato come ls -R
fa, che è così:
[test]$ ls -Rt
b testdir test
./testdir:
a
Voglio che sia formattato come il find
Il comando visualizza i file nelle sottodirectory. Cioè:
[test]$ find .
.
./b
./test
./testdir
./testdir/a
Ma cosa find
Non sembra fare è ordinare il risultato cronologicamente entro l'ultimo tempo di aggiornamento.
Quindi come posso elencare tutti i file in una directory e sottodirectory, nel formato che find
Ma in ordine cronologico inverso?
Soluzione
Prova questo:
find . -type f -printf "%T@ %p\n" | sort -nr | cut -d\ -f2-
Altri suggerimenti
ls -lR
è visualizzare tutti i file, le directory e le sotto -directory nella directory homels -lR | more
viene utilizzato per mostrare tutti i file in un flusso.
Se il numero di file che si desidera visualizzare si adatta al limite di argomento massimo, è possibile utilizzare Globbing per ottenere ciò che desideri, con ricorsione se si dispone del supporto Globstar.
Per esattamente 2 livelli di uso profondo: ls -d * */*
Con Globstar, per l'uso di ricorsione: ls -d **/*
Il -d
argomento a ls
gli dice di non ricorrere alle directory passate come argomenti (poiché si sta usando il globo shell per fare la ricorsione). Questo impedisce ls
usando la sua formattazione di ricorsione.
find -type f -print0 | xargs -0 ls -t
Svantazioni: funziona solo per una certa quantità di file. Se hai quantità estremamente grandi di file hai bisogno di qualcosa di più complicato
Provarefind . -type d
ofind . -type d -ls
prova questo:
ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total' |sed '/^$/d'
Il comando in Risposta di WFG5475 funziona correttamente, è solo necessario aggiungere una cosa per mostrare solo file in una directory di directory e sottofondo:
ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total|^d' |sed '/^$/d'
Aggiunta una cosa: ^d
Per ignorare tutte le directory dagli output di elenco