Về cơ bản tôi đang tìm kiếm các tập tin sau đó sắp xếp theo kích thước. Kịch bản hoạt động nếu tôi không sắp xếp kích thước theo con người có thể đọc được. Nhưng tôi muốn kích thước có thể đọc được. Làm thế nào tôi có thể sắp xếp kích thước mà con người có thể đọc được?
Ví dụ:
ls -l | sort -k 5 -n | awk '{print $9 " " $5}'
Điều này hoạt động như mong đợi, tôi có kích thước tệp của mình theo byte tăng dần:
1.txt 1
test.txt 3
bash.sh* 573
DocGeneration.txt 1131
andres_stuff.txt 1465
Branches.xlsx 15087
foo 23735
bar 60566
2016_stuff.pdf 996850
Bây giờ, tôi muốn kích thước có thể đọc được của con người, vì vậy tôi đã thêm một tham số -h vào ls và bây giờ một số tệp không theo thứ tự:
ls -lh | sort -k 5 -n | awk '{print $9 " " $5}'
1.txt 1
DocGeneration.txt 1.2K
andres_stuff.txt 1.5K
test.txt 3
Branches.xlsx 15K
foo 24K
bar 60K
bash.sh* 573
2016_stuff.pdf 974K
ls
đầu ra
du
thay vì ls
có thể là một ý tưởng tốt.
find
là -printf
với nó %p
và các trình %s
định dạng của nó (theo sau là một bản sao nhân bản của các kích cỡ).
-k 5
- nó hoạt động thế nào?