bash – 字段编号大于AWK的打印行
发布时间:2020-12-16 01:29:25 所属栏目:安全 来源:网络整理
导读:我在bash中编写一个脚本,它需要一个参数并存储它; threshold = $1 然后我有样本数据,如下所示: 5 blargh6 tree2 dog1 fox9 fridge 我只想打印数字大于作为参数(阈值)输入的数字的行. 我目前正在使用: awk '{print $1 $threshold}' ./file 但没有打印出来,
我在bash中编写一个脚本,它需要一个参数并存储它;
threshold = $1 然后我有样本数据,如下所示: 5 blargh 6 tree 2 dog 1 fox 9 fridge 我只想打印数字大于作为参数(阈值)输入的数字的行. 我目前正在使用: awk '{print $1 > $threshold}' ./file 但没有打印出来,帮助将不胜感激.
你很近,但它需要更像这样:
$threshold=3 $awk -v threshold="$threshold" '$1 > threshold' file 用-v创建变量避免了在awk脚本中尝试扩展shell变量的丑陋. 编辑: 您显示的当前代码有一些问题.第一个是你的awk脚本是单引号(好的),它会阻止扩展的$threshold,所以这个值永远不会插入你的脚本中.第二,你的条件属于大括号之外,这将使它成为: $1 > threshold { print } 这是有效的,但是print不是必需的(这是默认的动作),所以我把它缩短了 $1 > threshold (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |