bash – 字段编号大于AWK的打印行

我在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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...