shell script para imprimir linhas se houver um valor na coluna 2

shell script para imprimir linhas se houver um valor na coluna 2
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3

Como posso imprimir todas as linhas nas quais existe um2na segunda coluna.

Responder1

Usando awk(ou seu primo gawk):

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

Nas awkcolunas são indicadas por a $, sendo $1a primeira coluna, $2a segunda, etc. A linha inteira é dada por $0. Portanto, este exemplo diz: se a coluna 2 for igual a 2, imprima a linha inteira.

Editar: como devnull disse abaixo:

gawk '$2==2' inputfile 

basta. Para imprimir as linhas com 2 na segunda coluna e 4 na última use $NF, que significa Número de Campos (ou seja, a última coluna):

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

informação relacionada