İşte daha genel bir yaklaşım. Çıktısını alın du folder
ve du -h folder
iki farklı dosyalarda.
du folder > file1
du -h folder > file2
Anahtar kısım şudur: uygun bir sınırlayıcı ile sırala file1
ve file2
satır satır.
paste -d '#' file1 file2 > file3
(varsayarak #
görünmez file1
ve file2
)
Şimdi sırala file3
. Bunun file1
içeriğe göre sıralanacağını ve file2
içeriklere göre kopacağını unutmayın. Aşağıdakileri kullanarak ilgili sonucu çıkarın cut
:
sort -n -k1,7 file3 | cut -d '#' -f 2
Ayrıca man sort
diğer seçeneklere de göz atın .
Bunu daha sonra tekrar kullanmak için takma ad olarak da kaydedebilirsiniz. Bunu yapmak için aşağıdakilerin altına ekleyin ~/.bashrc
:
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Ardından, yeni bir terminal oturumu açın ve yeni takma adınızı yürütün:
sorted-du /home