比较值并删除文件的行

比较值并删除文件的行

我有一个包含以下数据的文件test1.txt

nnn   90
vvv   80
ttt   50
sss   20

我想比较第二列值并删除该行。例如,如果第二列中的任何一个值小于 20,则删除该行条目。的输出test1.txt应如下所示:

nnn   90
vvv   80
ttt   50

我尝试使用sedawk命令,但它对我不起作用。

答案1

awk

awk '$2>20' file

$2它检查gether中的第二个字段是否大于20.如果是,则打印该行。

答案2

bash

$ while read -r a b; do [ "$b" -gt 20 ] && echo "$a $b"; done <file.txt 
nnn 90
vvv 80
ttt 50

这将读取每一行并检查空格分隔列的第二列的值是否大于 20,如果是,则打印该行。

相关内容