Shell 使用grep拆分一行,然后搜索数字大于3的行

Shell 使用grep拆分一行,然后搜索数字大于3的行,shell,awk,grep,Shell,Awk,Grep,假设我有一个类似以下的文件: thing1(space)thing2(space)thing3(space)thing4 例如 我只能显示thing3大于3的行吗?(即梨和干酪) 我可以用python轻松地完成这项工作,但我们可以在shell中完成吗?也许和awk一起?我仍在对此进行研究。如果您可以选择使用awk这样做,您可以说: awk '$3>3' inputFile awk默认情况下,将行拆分为以空格分隔的字段,并将其分配给变量,该变量可以通过说明列号来引用。在您的情况下,您

假设我有一个类似以下的文件:

thing1(space)thing2(space)thing3(space)thing4
例如

我只能显示
thing3
大于3的行吗?(即梨和干酪)


我可以用python轻松地完成这项工作,但我们可以在shell中完成吗?也许和awk一起?我仍在对此进行研究。

如果您可以选择使用
awk
这样做,您可以说:

awk '$3>3' inputFile

awk
默认情况下,将行拆分为以空格分隔的字段,并将其分配给变量,该变量可以通过说明列号来引用。在您的情况下,您需要通过
$3
引用它

谢谢,这很有效!奇怪的是,在这里使用双引号,例如“$3>3”,会在我的redhat系统上产生语法错误。只有单引号起作用。如果有人遇到这个问题,请告诉我:)@LittleBobbyTables不客气。
awk
周围的单引号防止
shell
将任何
awk
字符解释为特殊
shell
字符。
awk '$3>3' inputFile
$ cat file
1 apple 3 4
3 banana 3 8
3 pear 11 12
13 cheeto 15 16
$ awk '$3>3' file
3 pear 11 12
13 cheeto 15 16