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

evi*_*lja 0 command-line directory

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

$command
50kB
Run Code Online (Sandbox Code Playgroud)

mch*_*hid 7

用于awk优化您的输出:

du -sh . | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

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


您还可以将其设为脚本:
#!/bin/bash

# script to output only the size with no path 

du -sh "$@" | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

然后你可以运行:

./scriptname .
Run Code Online (Sandbox Code Playgroud)

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

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

chmod +x ./scriptname
Run Code Online (Sandbox Code Playgroud)

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


或者,正如@steeldriver 指出的:

你也可以使用cut -f 1代替awk

du -sh . | cut -f 1
Run Code Online (Sandbox Code Playgroud)

作为脚本:

#!/bin/bash

# script to output only the size with no path 

du -sh "$@" | cut -f 1
Run Code Online (Sandbox Code Playgroud)