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?

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

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 {} \;

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 

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.