
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3
¿Cómo puedo imprimir todas las filas en las que hay un2en la segunda columna.
Respuesta1
Usando awk
(o su primo gawk
):
gawk '$2==2 {print $0}' inputfile
En awk
columnas se indican con a $
, con $1
la primera columna, $2
la segunda, etc. Toda la línea viene dada por $0
. Entonces este ejemplo dice: si la columna 2 es igual a 2, imprima la línea completa.
Editar: como dijo devnull a continuación:
gawk '$2==2' inputfile
es suficiente. Para imprimir las líneas con 2 en la segunda columna y 4 en la última use $NF
, que representa el Número de campos (es decir, la última columna):
gawk '$2==2 && $NF==4' inputfile