Me enteré de que en awk, $ 2 es la 2da columna. ¿Cómo especificar la línea ith y el elemento en la i-ésima fila y la j-ésima columna?seleccione fila y elemento en awk
Respuesta
Para imprimir la segunda línea:
awk 'FNR == 2 {print}'
Para imprimir el segundo campo:
awk '{print $2}'
Para imprimir el tercer campo de la quinta línea:
awk 'FNR == 5 {print $3}'
Editar : Aquí hay un ejemplo con una línea de encabezado y una descripción de campo (redundante) s:
awk 'BEGIN {print "Name\t\tAge"} FNR == 5 {print "Name: "$3"\tAge: "$2}'
Hay mejores formas de alinear columnas que "\ t \ t" por cierto.
Para ampliar la respuesta de Dennis, utilice awk
's -v
opción para pasar los i
j
y valores:
# print the j'th field of the i'th line
awk -v i=5 -v j=3 'FNR == i {print $j}'
¿Podemos tener un ejemplo de cuándo usar la opción -v sería útil? –
Aquí hay uno: http://stackoverflow.com/q/9418617/7552 –
@dessert el 'J' se rellena con el valor' 3', así que cuando lo hace 'print $ J' que está haciendo' imprimir $ 3' cuales está imprimiendo la tercera columna, por lo que es correcta tal como está. –
Para imprimir las columnas con una cadena específica, se utiliza el patrón de búsqueda //. Por ejemplo, si usted está buscando para las segundas columnas que contiene abc:
awk '$2 ~ /abc/'
... y si desea imprimir sólo una columna en particular:
awk '$2 ~ /abc/ { print $3 }'
... y para una línea particular número:
awk '$2 ~ /abc/ && FNR == 5 { print $3 }'
Gracias por mostrar el "~" uso –
Dado que awk y perl están estrechamente relacionados ...
equivalentes Perl de @ soluciones awk de Dennis:
para imprimir la segunda línea:
perl -ne 'print if $. == 2' file
Para imprimir el segundo campo:
perl -lane 'print $F[1]' file
Para imprimir el tercer campo de la quinta línea:
perl -lane 'print $F[2] if $. == 5' file
equivalente de Perl @ solución de Glenn:
Imprimir el campo j-ésima de la i-ésima línea de
perl -lanse 'print $F[$j-1] if $. == $i' -- -i=5 -j=3 file
equivalentes de Perl @ soluciones de Hai:
si usted está buscando para las segundas columnas que contienen ABC:
perl -lane 'print if $F[1] =~ /abc/' foo
... y si desea imprimir sólo una columna en particular:
perl -lane 'print $F[2] if $F[1] =~ /abc/' foo
... y por un número de línea en particular:
perl -lane 'print $F[2] if $F[1] =~ /abc/ && $. == 5' foo
-l
elimina los saltos de línea, y los añade de nuevo en al imprimir
-a
autosplits la línea de entrada en una matriz @F
, utilizando los espacios en blanco como delimitador
-n
bucle sobre cada línea del archivo de entrada
-e
ejecutar el código entre comillas
$F[1]
es el segundo elemento de la matriz, ya que comienza en Perl 0
$.
es el número de línea
me encontré con este comando trabaja
root @ puerta de enlace:/home/sshuser # AWS EC2 describe-casos --instance-ids i-2db0459d | grep 'ESTADO \ | TAG' | awk 'FNR == 1 {print $ 1}'
ESTADO
- 1. LINQ SELECCIONE PRIMERA FILA
- 2. Seleccione la primera fila coincidente
- 3. Seleccione la fila tableview programación
- 4. Seleccione un elemento y sus hermanos
- 5. Mysql Seleccione Siguiente y Anterior fila no ORDER BY ID
- 6. MySQL Seleccione otra fila si no existe
- 7. Seleccione la fila después de actualizar DBGrid
- 8. Jquery seleccione el siguiente elemento
- 9. Seleccione cada enésimo elemento en jQuery?
- 10. Seleccione la fila más reciente con GROUP BY en MySQL
- 11. ListBox y Datasource: evita que se seleccione el primer elemento
- 12. Seleccione la fila de la tabla en jQuery
- 13. Seleccione el primer TD en cada fila con jQuery
- 14. jQuery: seleccione la segunda fila en una tabla?
- 15. Seleccione la diferencia entre las fechas de fila en MySQL
- 16. seleccione <select> elemento con valor
- 17. seleccione primer elemento de QListView por defualt
- 18. jQuery seleccione elemento dentro de una clase
- 19. Seleccione uno de la fila con la condición
- 20. SQL Seleccione una fila y almacene en una variable de SQL
- 21. seleccione un elemento secundario en el objeto jquery
- 22. Seleccione una fila con valor distinto de una columna
- 23. VB.Net: seleccione toda la línea en un ListView de varias columnas y no solo el primer elemento
- 24. ¿Cómo evitar que se seleccione el encabezado cuando hay un elemento en un QTableWidget?
- 25. Convertir fechas en AWK
- 26. C#: ¿Cómo se asegura de que se seleccione una fila o elemento en ListView antes de realizar una acción?
- 27. MySQL - Seleccione la última fila insertada manera más fácil
- 28. ignorecase en AWK
- 29. Awk revertir ambas líneas y palabras
- 30. diferencias entre grep, awk y sed
Gracias! ¿Es posible imprimir las columnas con una cadena específica? – Tim