AWK – Základní Příklady

AWK – Základní Příklady

Inzeráty

Tato kapitola popisuje několik užitečných příkazy AWK a jejich vhodné příklady. Zvažte značky textového souboru.txt, které mají být zpracovány s následujícím obsahem –

1) Amit Physics 802) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89

tiskový sloupec nebo pole

můžete instruovat AWK tisknout pouze určité sloupce ze vstupního pole., Následující příklad ukazuje toto −

Příklad:

$ awk '{print $3 "\t" $4}' marks.txt

Na provádění tohoto kódu, dostanete následující výsledek −

Výstup

Physics 80Maths 90Biology 87English 85History 89

V souboru značek.txt, třetí sloupec obsahuje název předmětu a čtvrtý sloupec obsahuje značky získané v konkrétním předmětu. Vytiskneme tyto dva sloupce pomocí příkazu awk print. Ve výše uvedeném příkladu představují 3 $a 4 $třetí a čtvrté pole ze vstupního záznamu.

tisk všech řádků

ve výchozím nastavení AWK vytiskne všechny řádky, které odpovídají vzoru.,

Příklad:

$ awk '/a/ {print $0}' marks.txt

Na provádění tohoto kódu, dostanete následující výsledek −

Výstup

2) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89

Ve výše uvedeném příkladu, hledáme tvoří vzor. Když vzor zápase uspěje, spustí příkaz z těla bloku. Při absenci tělesného bloku-je provedena výchozí akce, která vytiskne záznam. Tedy, následující příkaz vytvoří stejný výsledek,

Příklad:

$ awk '/a/' marks.txt

Tisk Sloupce podle Vzoru

vzor zápas podaří, AWK vytiskne celý záznam ve výchozím nastavení., Ale můžete instruovat AWK k tisku pouze určitých polí. Například následující příklad vytiskne třetí a čtvrté pole, když uspěje zápas vzoru.

Příklad:

$ awk '/a/ {print $3 "\t" $4}' marks.txt

Na provádění tohoto kódu, dostanete následující výsledek −

Výstup

Maths 90Biology 87English 85History 89

Tisk Sloupce v libovolném Pořadí

můžete vytisknout v libovolném pořadí sloupců. Například následující příklad vytiskne čtvrtý sloupec následovaný třetím sloupcem.,

Příklad:

$ awk '/a/ {print $4 "\t" $3}' marks.txt

Na provádění výše uvedený kód, dostanete následující výsledek −

Výstup

90 Maths87 Biology85 English89 History

Počítání a Tisk Uzavřeno Vzor

podívejme se na příklad, kde se můžete spolehnout a tisku počet řádků, pro které vzoru odpovídají podařilo.

Příklad:

$ awk '/a/{++cnt} END {print "Count = ", cnt}' marks.txt

Na provádění tohoto kódu, dostanete následující výsledek −

Výstup

Count = 4

V tomto příkladu, budeme zvyšovat hodnotu čítače, pokud vzor zápas podaří a my vytisknout tuto hodnotu na KONCI bloku., Všimněte si, že na rozdíl od jiných programovacích jazyků Není třeba deklarovat proměnnou před použitím.

Tiskové řádky s více než 18 znaky

vytiskneme pouze ty řádky, které obsahují více než 18 znaků.

Příklad:

$ awk 'length($0) > 18' marks.txt

Na provádění tohoto kódu, dostanete následující výsledek −

Výstup

3) Shyam Biology 874) Kedar English 85

AWK poskytuje vestavěný délka funkce, která vrací délku řetězce. Proměnná $0 ukládá celý řádek a při absenci tělesného bloku se provede výchozí akce,tj., Pokud má tedy řádek více než 18 znaků, výsledky srovnání jsou pravdivé a řádek se vytiskne.

Inzeráty

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *