在Bash中将数字添加到可变大小

时间:2016-02-12 11:40:16

标签: linux bash

我正在尝试查找文件夹的大小,并向其添加1M。由于其他原因,1M只是我需要的间距。

以下是我的尝试:

echo $($(du -sh myFolder) + 1) # command not found: 170M
echo $(`du -sh myFolder` + 1)  # same as above

我希望能够将其保存到变量中,以便我可以在dd调用中使用它。

3 个答案:

答案 0 :(得分:1)

echo $(($(du -sb myFolder | cut -f1)+1048576))

du -sb以字节为单位给出一个sumarized结果。

答案 1 :(得分:1)

替代方案,如果你不能使用-b作为Joao Morais建议:

expr `du -hs myFolder | awk '{print $1}' | tr -d M` + 1

echo $((`du -hs myFolder | awk '{print $1}' | tr -d M` + 1))

答案 2 :(得分:0)

另一种方式:

BLOCKSIZE=1048576 du -s myFolder | awk '{print $1+1}'

或输入变量:

mbs=$(BLOCKSIZE=1048576 du -s myFolder | awk '{print $1+1}')

适用于Linux,BSD和OS X(可能还有其他)。