Linux (标准_in)1:当bc在if中时出现语法错误

Linux (标准_in)1:当bc在if中时出现语法错误,linux,bash,if-statement,bc,Linux,Bash,If Statement,Bc,获取错误: (standard_in) 1: syntax error 运行以下脚本时: #!/bin/bash while read line do time=$(echo $line|awk '{print $10}'|awk -F"=" '{print $2}') if (( $(echo "$time > 100" | bc -l) )) then echo $line fi done < ping.txt 基本上,我尝试使用以下方法查找时间>100 ms的所有线路:

获取错误:

(standard_in) 1: syntax error
运行以下脚本时:

#!/bin/bash
while read line
do time=$(echo $line|awk '{print $10}'|awk -F"=" '{print $2}')
if (( $(echo "$time > 100" | bc -l) ))
then echo $line
fi
done  < ping.txt
基本上,我尝试使用以下方法查找时间>100 ms的所有线路:


使用
[=]

拆分时,时间是倒数第二个字段
$(NF-1)
,这对我很有效,无法复制。我怀疑您提取时间字段的逻辑在某些行上失败,您最终得到的不是
time
中的数字,但对于示例输入行,它是有效的。
2018-08-15 13:45:54: 64 bytes from server.my.local (192.168.1.117): icmp_seq=7163 ttl=62 time=327 ms
awk -F'[ =]' '$(NF-1)>100' ping.txt