Đây là một cách tiếp cận tổng quát hơn. Nhận đầu ra của du foldervà du -h foldertrong hai tập tin khác nhau.
du folder > file1
du -h folder > file2
Phần quan trọng là đây: nối file1và file2theo từng dòng, với một dấu phân cách phù hợp.
paste -d '#' file1 file2 > file3
(giả sử #không xuất hiện trong file1và file2)
Bây giờ sắp xếp file3. Lưu ý rằng điều này sẽ sắp xếp dựa trên file1nội dung và phá vỡ mối quan hệ theo file2nội dung. Trích xuất kết quả có liên quan bằng cách sử dụng cut:
sort -n -k1,7 file3 | cut -d '#' -f 2
Ngoài ra hãy xem man sortcác lựa chọn khác.
Bạn cũng có thể lưu nó dưới dạng bí danh, để sử dụng lại sau. Để làm như vậy, thêm phần sau vào dưới cùng của ~/.bashrc:
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Sau đó, mở một phiên cuối mới và thực hiện bí danh mới của bạn:
sorted-du /home