Como podemos especificar dois separadores de campo no comando awk quando um deles é o espaço? 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 é o seguinte:
cat test.txt Swapnil Engineer 20000 Avinash:Doctor:30000 Dattu GovntJob 50000 Amol:Master:10000 
Quero imprimir a segunda coluna ($ 2). A saída esperada é:
Engineer Doctor GovntJob Master 
Quando tentei colocar espaço e dois-pontos como separadores de campo, ocorreu 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?
Comentários
Resposta
 Você está no caminho certo! 
 Basta adicionar as aspas que faltam em [ :]: 
awk -F"[ :]" "{print $2}" test.txt Engineer Doctor GovntJob Master 
-F[ :](um arg) obteve-F[:e]. Este gráfico é bastante útil (observe as setas verticais para aspas simples / duplas).