无法在bash中进行算术运算

时间:2018-11-28 15:58:08

标签: bash curl awk

我正在尝试执行以下操作:

size=$(curl -sI "https://stackoverflow.com/posts/0/editor-heartbeat/ask" | grep -i Content-Length | awk '{print $2}')
echo $((size / 3))

但这会返回错误:

")syntax error: invalid arithmetic operator (error token is "

我想这与awk的结果有关。

谢谢。

2 个答案:

答案 0 :(得分:5)

从大小中删除回车符\r

size=${size%$'\r'}

答案 1 :(得分:1)

这是我先前在另一个线程上选择的除法的有用功能:

calc() {
awk "BEGIN { print "$*" }";
}

最终结果:

calc() {
awk "BEGIN { print "$*" }";
}
size=$(curl -sI "https://stackoverflow.com/posts/0/editor-heartbeat/ask" | grep -i Content-Length | awk '{print $2}')
echo "$(calc ${size}/3)"

执行:

ivo@spain-nuc-03:~/Downloads/TestStackoverflow$ ./processing.sh 
18758.3
ivo@spain-nuc-03:~/Downloads/TestStackoverflow$ 

希望有帮助!