如何获取仅包含目录大小的输出?

如何获取仅包含目录大小的输出?

如何获取目录及其子目录的大小?我试过了,du -sh .但它也会打印路径。我需要一个不打印路径的命令。比如:

$command
50kB

答案1

用于awk优化您的输出:

du -sh . | awk '{print $1}'

print $1指定仅打印输出的第一列。


您也可以将其制作成脚本:
#!/bin/bash

# script to output only the size with no path 

du -sh "$@" | awk '{print $1}'

然后你可以运行:

./scriptname .

用脚本的实际名称替换“scriptname”。

另外,在运行脚本之前不要忘记使其可执行:

chmod +x ./scriptname

再次用脚本的实际名称替换“scriptname”。


或者,正如@steeldriver 指出的那样:

你也可以cut -f 1使用awk

du -sh . | cut -f 1

作为脚本:

#!/bin/bash

# script to output only the size with no path 

du -sh "$@" | cut -f 1

相关内容