Me pehea te tuhi i nga whakahau me nga tuhinga Hōtuhi AWK

Nga whakahau, te whakaaetanga, me nga tauira

Ko te whakahau awk he huarahi kaha mo te tukatuka me te tuhi i nga kōnae kuputuhi-i roto i te nuinga, nga kōnae raraunga e whakaritehia ana e nga raina (rarangi) me nga pou.

Ka taea te rere atu i nga rarangi whakahau nga awhina awatea . Me tuhi atu nga mahi matatini kia rite ki nga kaupapa awakite (e kiia ana he awh scripts) ki tetahi kōnae.

Ko te whakatakotoranga taketake o te whakahau awk tenei e penei:

te mahi awk 'mahi {' mahi} 'kōnae whakauru-kōnae-putanga

Ko te tikanga tenei: tangohia ia raina o te kōnae whakauru; ki te raina kei roto te tauira ki te whakamahi i te mahi ki te raina, me te tuhi i te rarangi hua ki te kōnae whakaputa. Mena kua whakakorehia te tauira, ka whakamahia te mahi ki te raina katoa. Hei tauira:

awk '{print $ 5}' table1.txt> output1.txt

Ko tenei tauākī ka tango i te huānga o te huinga tuarima o ia raina, ka tuhi hei raina i roto i te putanga putanga "output.txt". Ko te tāupe '$ 4' e tohu ana ki te pou tuarua. Waihoki ka taea e koe te whakauru ki te tuatahi, te tuarua, me te tuatoru o nga pou, me te $ 1, te $ 2, te $ 3, me era atu. Na nga taunoa tautuhinga ka wehehia e nga mokowai ranei i te waa (he mea ka kiia he maaka). Na, mehemea ko te kōnae whakauru "table1.txt" kei enei raina:

1, Justin Timberlake, Taitara 545, Utu $ 7.30 2, Taylor Swift, Taitara 723, Utu $ 7.90 3, Mick Jagger, Taitara 610, Utu $ 7.90 4, Lady Gaga, Taitara 118, Tau $ 7.30 5, Johnny Cash, Taitara 482, Utu $ 6.50 6, Elvis Presley, Taitara 335, Utu $ 7.30 7, John Lennon, Taitara 271, Utu $ 7.90 8, Michael Jackson, Taitara 373, Utu $ 5.50

Na ka whakahaua e te whakahau nga rarangi e whai ake nei ki te kōnae whakaputa "output1.txt":

545, 723, 610, 118, 482, 335, 271, 373,

Mena he wehewehenga o te tīwae he mea ke atu i nga waahi, i nga ripa ranei, penei i te huinga, ka taea e koe te tautuhi i roto i te taurangi awk penei:

awk -F, '{print $ 3}' table1.txt> output1.txt

Ma tenei ka tohu i te huanga mai i te rarangi 3 o ia raina ka whakaarohia nga waahanga kia wehea e te ope. Na ko te putanga, i tenei keehi, ko:

Taitara 545 Ingoa 723 Kupu 610 Ingoa 118 Ingoa 482 Pepa 335 Waitara 271 Pekene 373

Ko te rarangi o nga korero i roto i nga awhi whakairo ('{', '' ') ka kiia he poraka. Mena ka whakatakotoria e koe he kupu tohu i mua i tetahi poraka, ka tukuna te korero i roto i te poraka mehemea he pono te ahua.

awk '$ 7 == "$ 7.30" {print $ 3}' table1.txt

I tenei take, ko te $ 7 == "$ 7.30" te tikanga, ko te huinga i te pou 7 he rite ki te $ 7.30. Ka whakamahia te toenga i mua o te tohu taara hei aukati i te pūnaha mai i te whakamaori $ 7 hei taurangi, engari hei tango i te tohu taarata.

Na ko tenei korero awhi e whakaatu ana i te huānga i te raina 3 o ia raina e "$ 7.30" i te pou 7.

Ka taea hoki e koe te whakamahi i nga korero taunoa hei ahua. Hei tauira:

awk '/ 30 / {print $ 3}' table1.txt

Ko te aho i waenganui i nga reta e rua ('/') ko te whakahuatanga auau. I tenei take, ko te aho anake "30." Ko te tikanga tenei mehemea kei roto i te raina te aho "30", ka tuhia e te puna te huānga i te raina tuatoru o tera raina. Ko te putanga o te tauira i runga nei ko:

Timberlake, Gaga, Presley,

Mena he maha nga huinga o te ripanga ka taea e te awakatia te tautuhi i nga tatauranga ki a raatau i tenei tauira:

awk '{tā ($ 2 * $ 3) + $ 7}'

I tua atu i nga taurangi e uru ana ki nga huinga o te rarangi o teianei ($ 1, $ 2, me etahi atu) kei reira te tau $ 0 e pa ana ki te rarangi katoa (raina), me te NF rererangi e pupuri ana ki te maha o nga mara.

Ka taea hoki e koe te tautuhi i nga taurangi hou me tenei tauira:

awk '{sum = 0; mo (col = 1; col <= NF; col ++) sum + = $ col; tuhi moni; } '

Kei te ako, kei te tautuhi i nga huinga katoa o ia rarangi.

Kei te hono pinepine nga korero a te Awk ki nga whakahau whakahauhau .