Príklad 1: Tlač rozsahu stĺpcov z výstupu príkazu
Nasledujúci príkaz vytlačí druhý, tretí a štvrtý stĺpec z výstupu príkazu, je -l„. Tu sú čísla stĺpcov uvedené výslovne, ale efektívnejší príkaz na tlač rovnakého rozsahu stĺpcov je uvedený v nasledujúcom príklade.
$ ls -l | awk 'print 2 $, 3 $, 4 $'Nasledujúci výstup je produkovaný vyššie uvedeným príkazom.
Príklad 2: Vytlačte rozsah stĺpcov zo súboru pomocou a pre slučka
Ak chcete pokračovať v tomto príklade a ďalších príkladoch v tomto návode, vytvorte textový súbor s názvom známok.TXT s nasledujúcim obsahom:
ID CSE203 CSE102 CSE2021109 78 87 79
1167 67 81 70
1190 56 61 69
1156 89 55 78
199 54 66 58
Nasledujúci príkaz „awk“ vytlačí prvé tri stĺpce značiek.TXT. The pre cyklus sa používa na tlač hodnôt stĺpca a cyklus obsahuje tri kroky. The NF premenná udáva celkový počet polí alebo stĺpcov súboru.
$ mačacie značky.TXT$ awk 'pre (i = 1; i<=NF-1;i++) printf $i" "; print ""' marks.txt
Nasledujúci výstup sa vytvorí spustením príkazu. Výstup ukazuje študenta ID a značky pre CSE203 a CSE102.
Príklad 3: Vytlačte rozsah stĺpcov definovaním počiatočných a koncových premenných
Nasledujúci príkaz 'awk' vytlačí prvé tri stĺpce z výstupu príkazu 'ls -l' inicializáciou počnúc a končiaci premenné. Tu je hodnota počnúc premenná je 1 a hodnota končiaci premenná je 3. Tieto premenné sa iterujú v cykle for, aby sa vytlačili hodnoty stĺpcov.
$ ls -l | awk 'BEGIN first = 1; posledný = 3for (i = prvý; i < last; i++) printf("%s ", $i) print $last '
Po spustení príkazu sa objaví nasledujúci výstup. Výstup zobrazuje prvé tri hodnoty stĺpca výstupu, 'ls -l'.
Príklad 4: Vytlačte rozsah stĺpcov zo súboru s formátovaním
Nasledujúci príkaz „awk“ vytlačí prvé tri stĺpce súboru známok.TXT použitím printf a oddeľovač výstupného poľa (OFS). Tu cyklus for obsahuje tri kroky a zo súboru sa vytlačia postupne tri stĺpce. OFS sa tu používa na pridanie medzery medzi stĺpcami. Keď sa hodnota počítadla slučky (i) rovná končiaci premenná, potom sa vygeneruje nový riadok (\ n).
$ mačacie značky.TXT$ awk -v štart = 1 -v koniec = 3 'pre (i = štart; i<=end;i++) printf("%s%s",
$ i, (i == koniec) ? Znaky „\ n“: OFS) '.TXT
Po vykonaní vyššie uvedených príkazov sa vygeneruje nasledujúci výstup.
Príklad 5: Vytlačte rozsah stĺpcov zo súboru pomocou podmieneného príkazu
Nasledujúci príkaz „awk“ vytlačí prvý a posledný stĺpec zo súboru pomocou príkazov for a loop. Tu obsahuje slučka for štyri kroky. The počnúc a končiaci premenné sa používajú v skripte na vynechanie druhého a tretieho stĺpca zo súboru pomocou podmienky if. Premenná OFS sa používa na pridanie medzery medzi stĺpce a premenná ORS na pridanie nového riadku (\ n) po vytlačení posledného stĺpca.
$ mačacie značky.TXT$ awk -v štart = 2 -v koniec = 3 'pre (i = 1; i<=NF;i++)
if (i> = štart && i<=end) continue;
else printf ("% s% s", $ i, (i!= NF) ? OFS: ORS) '.TXT
Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. Výstup zobrazuje prvý a posledný stĺpec značiek.TXT.
Príklad 6: Vytlačte rozsah stĺpcov zo súboru pomocou premennej NF
Nasledujúci príkaz „awk“ vytlačí prvý a posledný stĺpec zo súboru pomocou premennej NF. Na tlač hodnôt stĺpcov sa nepoužívajú žiadne slučky ani podmienené príkazy. NF označuje počet polí. V značkách sú štyri stĺpce.TXT. $ (NF-3) definuje prvý stĺpec a $ NF označuje posledný stĺpec.
$ mačacie značky.TXTZnačky $ awk 'print $ (NF-3) "" $ NF'.TXT
Nasledujúci výstup sa vytvorí spustením vyššie uvedených príkazov. Výstup zobrazuje prvý a posledný stĺpec značiek.TXT.
Príklad 7: Tlač rozsahu stĺpcov zo súboru pomocou substr () a index ()
Funkcia index () vráti pozíciu, ak existuje druhá hodnota argumentu v prvej argumentovej hodnote. Funkcia substr () môže mať tri argumenty. Prvý argument je hodnota reťazca, druhý argument je východisková pozícia a tretím argumentom je dĺžka. Tretí argument substr () je v nasledujúcom príkaze vynechaný. Pretože stĺpec začína od $ 1 v príkaze 'awk', funkcia index () vráti $ 3 a príkaz vytlačí od $ 3 do $ 4.
$ mačacie značky.TXTZnačky $ awk 'print substr ($ 0, index ($ 0, $ 3))'.TXT
Nasledujúci výstup sa vytvorí spustením vyššie uvedených príkazov.
Príklad 8: Postupne vytlačte rozsah stĺpcov zo súboru pomocou printf
Nasledujúci príkaz „awk“ vytlačí prvý, druhý a tretí stĺpec značiek.txt nastavením dostatočného priestoru pre 10 znakov.
$ mačacie značky.TXT$ awk '// printf "% 10s% 10s% 10s \ n", $ 1, $ 3, $ 2' známky.TXT
Nasledujúci výstup sa vytvorí spustením vyššie uvedených príkazov.
Záver
Existuje niekoľko spôsobov, ako tlačiť rozsah stĺpcov z výstupu príkazu alebo zo súboru. Tento tutoriál ukazuje, ako môže príkaz „awk“ pomôcť používateľom systému Linux tlačiť obsah z tabuľkových údajov.