Kuinka voimme määrittää kaksi kentän erotinta awk-komennossa, kun toinen niistä on välilyönti? Mielestäni tämä voidaan tehdä käyttämällä upotettua if-else-ehtoa awk-tiedostossa, mutta en ole varma tarkasta komennosta.
Esimerkkitiedosto on seuraavanlainen:
cat test.txt Swapnil Engineer 20000 Avinash:Doctor:30000 Dattu GovntJob 50000 Amol:Master:10000 
Haluan tulostaa toisen sarakkeen (2 dollaria). Odotettu tulos on:
Engineer Doctor GovntJob Master 
Kun yritin laittaa sekä välilyönnin että kaksoispisteen kentänerottimiksi, se epäonnistui syntaksivirheellä:
awk -F[ :] "{print $2}" test.txt awk: cmd. line:1: :] awk: cmd. line:1: ^ syntax error 
Kuinka voimme käyttää kahta kentän erotinta ja käyttää awk-toimintoja?
Kommentit
Vastaa
 Olet oikealla tiellä! 
 Lisää vain puuttuvat lainausmerkit ympärille [ :]: 
awk -F"[ :]" "{print $2}" test.txt Engineer Doctor GovntJob Master 
-F[ :](yksi arg) se sai-F[:ja]. Tämä kaavio on melko kätevä (huomioi pystysuuntaiset nuolet yksittäisissä / kaksoislainauksissa).