如果第 2 列中有值则打印行的 shell 脚本

如果第 2 列中有值则打印行的 shell 脚本
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3

如何打印所有行,其中有2在第二列中。

答案1

使用awk(或其表兄弟gawk):

gawk '$2==2 {print $0}' inputfile

列中awk由 表示$$1第一列、$2第二列等。整行由 给出$0。所以这个例子是这样的:如果第 2 列等于 2,则打印整行。

编辑:正如 devnull 所说:

gawk '$2==2' inputfile 

足够。要打印第二列中包含 2 且最后一个 use 中包含 4 的行$NF,它代表字段数(即最后一列):

gawk '$2==2 && $NF==4'  inputfile

相关内容