Hvordan kan vi spesifisere to feltseparatorer i awk-kommando når en av dem er mellomrom? Jeg tror dette kan gjøres ved å bruke en innebygd if-else-tilstand i awk, men jeg er ikke sikker på den eksakte kommandoen.
Eksempelfilen er som nedenfor:
cat test.txt Swapnil Engineer 20000 Avinash:Doctor:30000 Dattu GovntJob 50000 Amol:Master:10000 
Jeg vil skrive ut den andre kolonnen ($ 2). Forventet utgang er:
Engineer Doctor GovntJob Master 
Da jeg prøvde å sette både mellomrom og kolon som feltseparatorer, mislyktes det med en syntaksfeil:
awk -F[ :] "{print $2}" test.txt awk: cmd. line:1: :] awk: cmd. line:1: ^ syntax error 
Hvordan kan vi bruke to feltseparatorer og bruke awk-funksjonalitet?
Kommentarer
Svar
 Du er på rett spor! 
 Bare legg til de manglende anførselstegnene rundt [ :]: 
awk -F"[ :]" "{print $2}" test.txt Engineer Doctor GovntJob Master 
-F[ :](en arg) den fikk-F[:og]. Dette diagrammet er ganske praktisk (merk de vertikale pilene for enkle / doble anførselstegn).