如果第 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

相關內容