Wyświetl listę plików większych niż określony rozmiar pliku

73

Jak mogę sprawić, aby ls (lub dowolne inne polecenie) wyświetlało tylko pliki większe niż określony rozmiar pliku?

Jasio
źródło

Odpowiedzi:

127

Użyj find i jego -sizeflagi.

Aby znaleźć pliki większe niż 100 MB:

find . -type f -size +100M

Jeśli chcesz tylko aktualny katalog:

find . -maxdepth 1 -type f -size +100M
Nifle
źródło
2
Jeśli chcesz find . -type f -size +4096c
podać
23

Jeśli chcesz zobaczyć wszystkie pliki powyżej 100M i zobaczyć, gdzie one są i jaki jest ich rozmiar, spróbuj tego:

find . -type f -size +100M -exec ls -lh {} \;
Ofir Zvik
źródło
1
Robi to samo, co pierwsze polecenie @ Nifle
Kanadyjczyk Łukasz
1
Myślę, że łatwiej byłoby użyć parametru printf -printf "%p %s". Patrz: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux
@Nux: fajna wskazówka. -printf '%9s %p\n'działało dobrze dla mnie.
seanf
2

Użyj następujących opcji:

find / -size gt 2MB

lub:

find / -size => 2000000 
Farhan Ahmed
źródło
3
W jaki sposób poprawia to przyjętą odpowiedź?
Dave M
Chociaż dziękujemy za odpowiedź, byłoby lepiej, gdyby stanowiła dodatkową wartość oprócz innych odpowiedzi. W takim przypadku twoja odpowiedź nie zapewnia dodatkowej wartości, ponieważ inny użytkownik już opublikował to rozwiązanie. Jeśli poprzednia odpowiedź była dla Ciebie pomocna, powinieneś zagłosować zamiast powtarzać te same informacje.
Toby Speight