Ksh

根據大小對所有目錄進行排序

  • April 2, 2021

我想根據它們的大小對特定目錄中的所有目錄/文件進行排序(使用du -sh “name”)。

我需要將此命令應用於我所在位置的所有目錄,然後根據此結果對它們進行排序。我怎樣才能做到這一點 ?

使用 GNU sort 和 GNU du (看起來你有,因為你聲明你正在使用du’s-h選項):

du -sh -- *  | sort -rh  # Files and directories, or
du -sh -- */ | sort -rh  # Directories only

輸出看起來像這樣:

22G     foo/
21G     bar/
5.4G    baz/
2.1G    qux/
1021M   wibble/
4.0K    wobble/

按塊大小排序,然後將其轉換為人類可讀的:

du -sk * | sort -nr | cut -f2 | xargs du -sh

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