Acest capitol descrie câteva utile AWK comenzi și corespunzătoare a acestora exemple. Luați în considerare un fișier text mărci.txt să fie prelucrate cu următorul conținut –
1) Amit Physics 802) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89
imprimare coloană sau câmp
puteți instrui AWK pentru a imprima numai anumite coloane din câmpul de intrare., Următorul exemplu demonstrează acest lucru −
Exemplu
$ awk '{print $3 "\t" $4}' marks.txt
Pe a executa acest cod, vei obține următorul rezultat −
Ieșire
Physics 80Maths 90Biology 87English 85History 89
În fișierul de mărci.txt, a treia coloană conține numele subiectului, iar a patra coloană conține mărcile obținute într-un anumit subiect. Să tipărim aceste două coloane folosind comanda AWK print. În exemplul de mai sus, $3 și $4 reprezintă al treilea și, respectiv, al patrulea câmp din înregistrarea de intrare.
imprimarea tuturor liniilor
în mod implicit, AWK imprimă toate liniile care se potrivesc cu modelul.,
Exemplu
$ awk '/a/ {print $0}' marks.txt
Pe a executa acest cod, vei obține următorul rezultat −
Ieșire
2) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89
În exemplul de mai sus, suntem în căutarea a forma un model. Atunci când o potrivire de model reușește, se execută o comandă de la blocul de corp. În absența unui bloc de corp-este luată o acțiune implicită, care este imprima înregistrarea. Prin urmare, următoarea comandă produce același rezultat −
Exemplu
$ awk '/a/' marks.txt
Imprimare Coloane de Model
atunci Când o potrivire de model reușește, AWK printuri întreaga înregistrare implicit., Dar puteți instrui AWK să imprime numai anumite câmpuri. De exemplu, următorul exemplu imprimă al treilea și al patrulea câmp atunci când un meci de model reușește.
Exemplu
$ awk '/a/ {print $3 "\t" $4}' marks.txt
Pe a executa acest cod, vei obține următorul rezultat −
Ieșire
Maths 90Biology 87English 85History 89
Imprimare Coloană în Orice Comanda
puteți imprima coloane în orice ordine. De exemplu, următorul exemplu imprimă a patra coloană urmată de a treia coloană.,
Exemplu
$ awk '/a/ {print $4 "\t" $3}' marks.txt
La executare codul de mai sus, veți obține următorul rezultat −
Ieșire
90 Maths87 Biology85 English89 History
de Numărare și de Imprimare Model Potrivit
haideți Să vedem un exemplu în care poți conta și de imprimare numărul de linii pentru care un model de meci reușit.
Exemplu
$ awk '/a/{++cnt} END {print "Count = ", cnt}' marks.txt
Pe a executa acest cod, vei obține următorul rezultat −
Ieșire
Count = 4
În acest exemplu, vom incrementa valoarea din contra, atunci când o potrivire de model reușește să și tipărim această valoare la SFÂRȘITUL blocului., Rețineți că, spre deosebire de alte limbaje de programare, nu este nevoie să declarați o variabilă înainte de a o utiliza.
linii de imprimare cu mai mult de 18 caractere
să imprimăm numai acele linii care conțin mai mult de 18 caractere.
Exemplu
$ awk 'length($0) > 18' marks.txt
Pe a executa acest cod, vei obține următorul rezultat −
Ieșire
3) Shyam Biology 874) Kedar English 85
AWK oferă un built-in lungime de funcție care returnează lungimea șirului. Variabila $ 0 stochează întreaga linie și în absența unui bloc de corp, se iau măsuri implicite, adică acțiunea de imprimare., Prin urmare, dacă o linie are mai mult de 18 caractere, atunci comparația rezultă adevărată și linia este tipărită.