AWK – Exemple de Bază

AWK – Exemple de Bază

Publicitate

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ă.

Publicitate

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *