Liệt kê các tệp lớn hơn kích thước tệp được chỉ định


73

Làm cách nào tôi có thể tạo danh sách ls (hoặc bất kỳ lệnh nào khác) chỉ liệt kê các tệp lớn hơn kích thước tệp cụ thể?

Câu trả lời:


127

Sử dụng tìm-sizecờ của nó .

Để tìm tệp lớn hơn 100MB:

find . -type f -size +100M

Nếu bạn chỉ muốn thư mục hiện tại:

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

2
Nếu bạn cần chuyển kích thước theo byte, hãy sử dụng find . -type f -size +4096c ( superuser.com/a/204571/111289 )
aexl

23

Nếu bạn muốn xem tất cả các tệp trên 100M và để xem chúng ở đâu và kích thước của chúng, hãy thử điều này:

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

1
Có giống như lệnh đầu tiên của @ Nifle
Luke Luke

1
Tôi nghĩ rằng nó sẽ dễ dàng hơn để sử dụng tham số printf -printf "%p %s". Xem: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux

@Nux: mẹo hay. -printf '%9s %p\n'làm việc tốt cho tôi
seanf

2

Sử dụng như sau:

find / -size gt 2MB

hoặc là:

find / -size => 2000000 

3
Làm thế nào để cải thiện câu trả lời được chấp nhận?
Dave M

Mặc dù chúng tôi cảm ơn bạn vì câu trả lời của bạn, nhưng sẽ tốt hơn nếu nó cung cấp giá trị bổ sung trên đầu các câu trả lời khác. Trong trường hợp này, câu trả lời của bạn không cung cấp giá trị bổ sung, vì một người dùng khác đã đăng giải pháp đó. Nếu câu trả lời trước đó hữu ích cho bạn, bạn nên bỏ phiếu thay vì lặp lại thông tin tương tự.
Toby Speight
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.