Aix

重現 AIX 上磁碟使用命令的“–max-depth=”開關

  • February 28, 2014

當我在 Linux/GNU 發行版環境中工作時,我經常使用那個美妙的命令

du --max-depth=1 /

這為您提供了root目錄中每個文件夾的大小。今天我使用 AIX,系統管理員不想听到關於 GNU 的消息。

是否有任何工具或命令行允許--max-depth在 AIX 上重現 switch for ducommand ?

只需從子目錄中刪除行(假設目錄名稱中沒有換行符):

du | grep -v '/.*/'

或者:

du | awk -F/ 'NF <= 2'

請注意,它不會比 GNU 慢很多du --max-depth=1,因為代價高昂的部分是lstat編譯所有需要為兩者完成的文件。

如果您不能保證目錄名稱中沒有換行符:

du .//. | awk '
 function process() {
   if (p != "" && split(p, a, "/") <= 4) {
     sub("//.", "", p);
     print p
   }
 }
 /\/\// {process(); p=$0; next}
 {p = p "\n" $0}
 END {process()}'

引用自:https://unix.stackexchange.com/questions/117419