Bash:如果第二列中的数字大于3,如何保持线?

时间:2016-04-24 04:03:40

标签: linux bash grep

如果第二列中的数字(以空格分隔)大于3,那么保持线路的最佳方法是什么?

我不能使用awk或sed! -.-

输入:

1 4 sdf 234sd
1 10 uio 654iu

输出:

ProgrammingLanguage

3 个答案:

答案 0 :(得分:3)

使用while循环:

while read -r i j k; do [ "$j" -gt 3 ] && echo "$i $j $k"; done <file.txt

答案 1 :(得分:2)

使用grep过滤掉不需要的要求

$ cat file
2 2 asd 132ds
1 4 sdf 234sd
1 3 gfd 654gh
1 1 rtz 543jh
1 10 uio 654iu

$ egrep -v '^[^.]+ [1-3] ' file
1 4 sdf 234sd
1 10 uio 654iu

答案 2 :(得分:1)

使用while循环

while read line; do if [ $(echo $line|cut -d " " -f2) -gt 3 ]; then echo $line; fi; done < testfile.txt