Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 命令行中的文件大小计算_Bash_Expression - Fatal编程技术网

Bash 命令行中的文件大小计算

Bash 命令行中的文件大小计算,bash,expression,Bash,Expression,我正在尝试编写一行bash命令,它将显示filesize1除以filesize2 到目前为止,我得到的是 expr `du wednesday | cut -f1` / `du tuesday | cut -f1` 但它显示的是0 然而,这些都是有效的 $ expr `du wednesday | cut -f1` / 1 13066388 $ expr `du wednesday | cut -f1` / 2 6533194 有人能帮我吗?expr(1)只做整数除法。从: 你需要使用不同的

我正在尝试编写一行bash命令,它将显示filesize1除以filesize2

到目前为止,我得到的是

expr `du wednesday | cut -f1` / `du tuesday | cut -f1`
但它显示的是
0

然而,这些都是有效的

$ expr `du wednesday | cut -f1` / 1
13066388
$ expr `du wednesday | cut -f1` / 2
6533194
有人能帮我吗?

expr(1)
只做整数除法。从:

你需要使用不同的工具;可以这样做,例如:

bc <<< "scale=2; $(du wednesday | cut -f1) / $(du tuesday | cut -f1)"
bc
expr$(du-b星期三| cut-f1)/$(du-b星期二| cut-f1)

由于某些原因,反勾号不适用于此命令。

因为这是有效的。一个文件是7字节,另一个是1295字节,输出是185字节

他在划分整数,问题是他的结果不是整数。是的-对不起。重写.+1,用于添加bc比例参数。也许应该更明确一点,
scale=2
将结果显示为小数点后2位。我必须发布另一个答案,因为如果我没有在没有
-b
的情况下开始提问,我无法发表评论。它将输出1KB的块,但最小值为4
bc <<< "scale=2; $(du wednesday | cut -f1) / $(du tuesday | cut -f1)"