gpt4 book ai didi

bash - 在 shell 脚本中减去字符串(即数字)

转载 作者:行者123 更新时间:2023-11-29 09:01:54 25 4
gpt4 key购买 nike

我制作了一个 shell 脚本来查找目录的大小,并以人类可读的格式(例如 802M 或 702K)返回它。我想计算尺寸之间的差异。

到目前为止,这是我的 shell 脚本:

#!/bin/bash

current_remote_dir_size=789M
new_remote_dir_size=802M
new_size=`echo ${new_remote_dir_size} | grep -o [0-9]*`
current_size=`echo ${current_remote_dir_size} | grep -o [0-9]*`

echo "${new_size}-${current_size}"

但是脚本的输出只是

-

我怎样才能使减法起作用?

最佳答案

通过将表达式包装在 $(( and )) 中,您可以在 bash 中进行基本的整数数学运算。

$ echo $(( 5 + 8 ))
13

在您的具体情况下,以下对我有用:

$ echo "${new_size}-${current_size}"
802-789
$ echo $(( ${new_size}-${current_size} ))
13

你最后的输出有点奇怪。检查 grep 表达式是否实际产生了所需的输出。如果不是,您可能需要将正则表达式用引号引起来。

关于bash - 在 shell 脚本中减去字符串(即数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com