Elenca i file più grandi delle dimensioni specificate


74

Come posso fare in modo che ls (o qualsiasi altro comando) elenchi solo i file più grandi di una specifica dimensione del file?

Risposte:


128

Usa trova e la sua -sizebandiera.

Per trovare file di dimensioni superiori a 100 MB:

find . -type f -size +100M

Se si desidera solo la directory corrente:

find . -maxdepth 1 -type f -size +100M

2
Se devi superare la dimensione in byte, usa find . -type f -size +4096c ( superuser.com/a/204571/111289 )
aexl

23

Se vuoi vedere tutti i file oltre 100M e vedere dove sono e quali sono le loro dimensioni prova questo:

find . -type f -size +100M -exec ls -lh {} \;

1
Fa lo stesso del primo comando di @ Nifle
canadese Luke

1
Penso che sarebbe più facile usare il parametro printf -printf "%p %s". Vedi: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux

@Nux: bel suggerimento. -printf '%9s %p\n'ha funzionato bene per me.
seanf

2

Utilizza il seguente:

find / -size gt 2MB

o:

find / -size => 2000000 

3
In che modo migliora la risposta accettata?
Dave M,

Sebbene ti ringraziamo per la risposta, sarebbe meglio se fornisse un valore aggiuntivo rispetto alle altre risposte. In questo caso, la tua risposta non fornisce un valore aggiuntivo, poiché un altro utente ha già pubblicato quella soluzione. Se una risposta precedente ti è stata utile, dovresti votarla invece di ripetere le stesse informazioni.
Toby Speight,
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.