¿Cómo podemos especificar dos separadores de campo en el comando awk cuando uno de ellos es espacio? Creo que esto se puede hacer utilizando una condición if-else incrustada en awk, sin embargo, no estoy seguro sobre el comando exacto.
El archivo de muestra es el siguiente:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Quiero imprimir la segunda columna ($ 2). La salida esperada es:
Engineer
Doctor
GovntJob
Master
Cuando intenté poner el espacio y los dos puntos como separadores de campo, falló con un error de sintaxis:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
¿Cómo podemos usar dos separadores de campo y utilizar la funcionalidad awk?
Gracias ArielCo, muy apreciado!
—
Swapnil Dhule
-F[ :]
(un argumento ) obtuvo-F[:
y]
. Este gráfico es bastante útil (tenga en cuenta las flechas verticales para comillas simples / dobles).