Como podemos especificar dois separadores de campo no comando awk quando um deles é espaço? Eu acho que isso pode ser feito usando uma condição if-else incorporada no awk, no entanto, não tenho certeza sobre o comando exato.
O arquivo de amostra é como abaixo:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Quero imprimir a segunda coluna ($ 2). A produção esperada é:
Engineer
Doctor
GovntJob
Master
Quando tentei colocar o espaço e os dois pontos como separadores de campo, ele falhou com um erro de sintaxe:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
Como podemos usar dois separadores de campo e utilizar a funcionalidade awk?
Obrigado ArielCo, muito apreciado!
—
Swapnil Dhule
-F[ :]
(um argumento), obteve-F[:
e]
. Este gráfico é bastante útil (observe as setas verticais para aspas simples / duplas).