Tässä luvussa on kuvattu useita hyödyllisiä AWK-komentoja ja niiden asianmukaisia esimerkkejä. Harkitse tekstitiedostomerkkejä.txt voidaan käsitellä seuraavia sisältö −
1) Amit Physics 802) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89
Tulostus Sarake tai Kenttä
Voit opettaa AWK tulostaa vain tietyt sarakkeet-kenttään., Seuraava esimerkki osoittaa tämän.
Esimerkki
$ awk '{print $3 "\t" $4}' marks.txt
teloittaa tämän koodin, saat seuraavan tuloksen −
Lähtö
Physics 80Maths 90Biology 87English 85History 89
tiedoston markkaa.txt, kolmas sarake sisältää kohteen nimi ja neljäs sarake sisältää arvosanat saatu tietystä aiheesta. Tulostakaamme nämä kaksi saraketta AWK print-komennolla. Yllä olevassa esimerkissä, $3 ja $4 edustavat kolmannen ja neljännen kentät vastaavasti input ennätys.
tulostus kaikki linjat
oletuksena, AWK tulostaa kaikki linjat, jotka vastaavat kuvio.,
Esimerkki
$ awk '/a/ {print $0}' marks.txt
teloittaa tämän koodin, saat seuraavan tuloksen −
Lähtö
2) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89
yllä olevassa esimerkissä, me etsimme muodossa kuvio. Kun kuvio ottelu onnistuu, se suorittaa komennon kehon estää. Jos ei ole body block-oletustoiminto toteutetaan, joka on tulostaa ennätys. Näin ollen seuraava komento tuottaa saman tuloksen.
Esimerkki
$ awk '/a/' marks.txt
Tulostus Sarakkeita Kuvio
Kun kuvio ottelu onnistuu, AWK tulostaa koko ennätys oletuksena., Mutta voit ohjeistaa AWK tulostaa vain tiettyjä kenttiä. Seuraavassa esimerkissä tulostetaan esimerkiksi kolmas ja neljäs kenttä, kun kaavaottelu onnistuu.
Esimerkki
$ awk '/a/ {print $3 "\t" $4}' marks.txt
teloittaa tämän koodin, saat seuraavan tuloksen −
Lähtö
Maths 90Biology 87English 85History 89
Tulostus-Sarakkeessa Tahansa Järjestyksessä
Voit tulostaa pylväät missä tahansa järjestyksessä. Esimerkiksi seuraava esimerkki tulostaa neljännen sarakkeen, jota seuraa kolmas sarake.,
Esimerkki
$ awk '/a/ {print $4 "\t" $3}' marks.txt
suorittamalla edellä koodi, saat seuraavan tuloksen −
Lähtö
90 Maths87 Biology85 English89 History
Laskenta ja Tulostus Hyväksytty Malli
katsokaamme esimerkki, jossa voit laskea ja tulostaa useita riviä, joista kuvio ottelu onnistui.
Esimerkki
$ awk '/a/{++cnt} END {print "Count = ", cnt}' marks.txt
teloittaa tämän koodin, saat seuraavan tuloksen −
Lähtö
Count = 4
tässä esimerkissä, me kasvattaa arvon vasta, kun kuvio ottelu onnistuu ja me tulostaa tämän arvon LOPULTA estää., Huomaa, että muista ohjelmointikielistä poiketen muuttujan ei tarvitse ilmoittaa ennen sen käyttöä.
Tulostus Linjat yli 18 Merkkiä
Anna meille tulosta vain ne rivit, jotka sisältävät yli 18 merkkiä.
Esimerkki
$ awk 'length($0) > 18' marks.txt
teloittaa tämän koodin, saat seuraavan tuloksen −
Lähtö
3) Shyam Biology 874) Kedar English 85
AWK-tarjoaa sisäänrakennettu pituus funktio, joka palauttaa merkkijonon pituus. $0-muuttuja tallentaa koko rivin ja ilman korilohkoa tehdään oletustoiminto eli tulostustoiminto., Näin ollen, jos rivissä on yli 18 merkkiä, niin vertailu tulokset totta ja rivi saa painettu.