linux - (标准输入) 1 : syntax error when bc within if

标签 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

ping.txt 文件包含如下行:

2018-08-15 13:45:54: 64 bytes from server.my.local (192.168.1.117): icmp_seq=7163 ttl=62 time=327 ms

基本上我试图找到时间 > 100 毫秒的所有行

最佳答案

使用 awk :

awk -F'[ =]' '$(NF-1)>100' ping.txt

使用 [ =] 拆分时,时间是倒数第二个字段 $(NF-1)

关于linux - (标准输入) 1 : syntax error when bc within if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51963095/

相关文章:

linux - 本地主机在 Docker 教程期间拒绝访问端口

linux - 将第一列内容和前缀附加到行尾

linux - bash,将终端输出重置为以前的样子

if-statement - 我该如何解决?我在程序中解释

linux - 在 shell 脚本中查找和替换

linux - Shell 编程变量不会进入 if 或 case 语句

bash - 是否可以将 gnu 的输出与 grep 并行着色?

bash - 在特定条件下用 sed 替换文件

php - 检查数据库内的数据并根据检索到的数据更改值

if-statement - 谷歌电子表格公式中的多个嵌套 if block