我曾經擁有這個叫做dusort的甜蜜別名,它會打印出大小可讀的頂級子目錄+大小排序的文件。它就像是一個在終端中運行的mac的迷你filelight。在Mac OS 10.6上獲得排序的,可讀的du輸出的最有效方法是什麼?
但現在我的別名在我將其複製到運行Mac OS 10.6的新Mac上之後破壞了。顯然,我使用的排序來自fink(我試圖避免在我的新Mac上重新安裝),或者與10.6一起發貨的那個具有比10.4發貨更少的功能(遠不太可能)。
Here是舊的別名有點kludgy,因爲它必須運行du兩次,以獲得機器可讀和人類可讀的文件大小(我實際上已經把它作爲〜/ bin中的腳本保存爲#!/ bin/bash,但是這不應該的問題): 排序-n +1 <(粘貼<(杜-hd1 |切-f1)<(杜-d1))|削減-f1,3
任何想法: A.再次運作? B.使這個命令使用bash巫術更優雅?
我知道我可以通過將du輸出複製到臨時文件或fifo或一些這樣的廢話來解決這個問題,但這太荒謬了。我決定來這裏尋求幫助,以踢出我頑皮的打擊習慣。請指教。 :)
編輯:
現在想起來,這個工程:
sort <(paste <(du -d1|cut -f1) <(du -hd1))|cut -f2,3
不過,看起來像一個巨大的雜牌組裝電腦,尤其是呼籲杜兩次這可能使得5分鐘,之間的區別10分鐘,在一個大型的文件樹...任何清理它的建議?
有趣......當我開始對這個幾年前,我試圖AWK第一這樣做,但放棄了。 我想知道你的腳本爲什麼給出與我的大小大不相同的尺寸?參見: dusort bash返回 7.4G \t。 dusort awk返回14.8G \t。 這件事不會讓我增加適當的間距,所以我拿出了大部分上面的列表。 – Eliot 2010-08-23 10:21:49
可能因爲MacOSX上的塊大小爲512字節。我已經添加了-k來解決這個問題。 – danio 2010-08-23 11:42:46