我正在尝试在bash脚本中调用du
时删除输出。我只是想打印出当前目录的大小。所以它看起来像这样:
DIRSIZE=$(du -hs $1)
printf "The size of the directory given is: %s\n" "$DIRSIZE"
我希望输出看起来像这样:
The size of the directory given is: 32K
但是,我的命令当前输出:
The size of the directory given is: 32K /home/dir_listed/
是否有一种简单的方法可以删除目录?
答案 0 :(得分:2)
试试这个:
DIRSIZE=$(du -hs $1 | awk '{print $1}')
printf "The size of the directory given is: %s\n" "$DIRSIZE"
答案 1 :(得分:2)
使用 awk :
DIRSIZE=$(du -hs $1 | awk '{print $1}')
仅从du
输出中选择第一个字段并保存到DIRSIZE
。
使用 sed :
DIRSIZE=$(du -hs $1 | sed 's/[[:space:]].*//')
从第一个space
移至行尾并保存到DIRSIZE
。
cut :
DIRSIZE=$(du -hs $1 | cut -f 1)
仅选择du
输出中的第一个字段,该字段与标签分隔并保存到DIRSIZE
。