Come possiamo specificare due separatori di campo nel comando awk quando uno di questi è spazio? Penso che ciò possa essere fatto usando una condizione if-else incorporata in awk, tuttavia non sono sicuro del comando esatto.
Il file di esempio è il seguente:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Voglio stampare la seconda colonna ($ 2). L'output previsto è:
Engineer
Doctor
GovntJob
Master
Quando ho provato a mettere sia lo spazio che i due punti come separatori di campo, non è riuscito con un errore di sintassi:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
Come possiamo usare due separatori di campo e utilizzare la funzionalità awk?
-F[ :]
(un argomento ) ha ottenuto-F[:
e]
. Questo grafico è abbastanza utile (nota le frecce verticali per virgolette singole / doppie).