Example -1: Definování a tisk proměnné
Příkaz 'awk' používá k definování proměnné možnost '-v'. V tomto příkladu myvar proměnná je definována v příkazu 'awk' pro uložení hodnoty, „Proměnná AWK“ který je vytištěn později. Spusťte následující příkaz z terminálu a zkontrolujte výstup.
$ echo | awk -v myvar = 'AWK proměnná' 'print myvar'Výstup:
Příklad - 2: Použití proměnné prostředí v awk s jednoduchou a dvojitou uvozovkou
Příklad ukazuje, jak lze použít proměnnou prostředí příkaz „awk“. Zde proměnná prostředí, myvar je deklarováno s hodnotou, „Linux Hint“ v prvním příkazu. Symbol '$' se používá s názvem proměnné prostředí ke čtení hodnoty. Druhý příkaz čte proměnnou, $ myval s jednoduchou uvozovkou (') a třetí příkaz přečte proměnnou $ myvar s dvojitou uvozovkou („) v příkazu' awk '.
$ myvar = "Linuxová nápověda"$ echo | awk -v awkvar = '$ myvar' 'tisknout awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'tisknout awkvar; '
Výstup:
Ve výstupu se ukazuje, že hodnotu $ myvar nelze přečíst, když je uzavřena s jedinou uvozovkou (') a výstup je $ myvar. Hodnota $ myvar je vytištěno, pokud je uzavřeno uvozovkou („).
Příklad - 3: Čtení proměnné ARGC v awk
Proměnná ARGC se používá k výpočtu celkového počtu argumentů příkazového řádku. V následujícím skriptu awk jsou předány tři proměnné argumentů příkazového řádku (t1, t2, t3). Zde je celkový počet argumentů se skriptem 4. Spusťte skript z terminálu.
$ awk 'BEGIN tisk "Celkem argumentů =", ARGC' t1 t2 t3Výstup:
Po spuštění skriptu se zobrazí následující výstup.
Příklad - 4: Čtení obsahu souboru pomocí proměnných argumentů
Vytvořte textový soubor s názvem zákazník.txt s následujícím obsahem k procvičení tohoto příkladu. Zde je každé pole souboru odděleno jedním záložka prostor.
zákazník.txt
ID jméno103847 John Micheal
209485 Watson
974732 Mira Hossain
Příkaz Awk může číst každé pole z libovolného textového souboru pomocí proměnných argumentů. Jsou tam dvě pole zákazník.txt soubor. Jedná se o ID a jméno. Následující skript vytiskne tato dvě pole pomocí proměnných argumentů, 1 $ a 2 $ oddělením dvou záložka mezery. Spusťte skript z terminálu.
$ kočičí zákazník.txt$ kočičí zákazník.txt | awk 'print $ 1 "\ t \ t" $ 2;'
Výstup:
Po spuštění výše uvedených příkazů se zobrazí následující výstup.
Příklad 5: Použití možnosti vestavěné proměnné, FS a oddělovače polí s příkazem awk
Proměnná FS se v příkazu awk používá jako oddělovač polí. Jako výchozí hodnota FS se používá prostor. Následující příkaz přečte soubor zákazník.txt pomocí mezery jako oddělovače polí a vytiskněte obsah souboru. Spusťte příkaz z terminálu.
$ awk FS zákazník.txtVýstup:
Po spuštění skriptu se zobrazí následující výstup.
Příkaz Awk může používat jiné znaky jako oddělovač polí pomocí volby '-F'. Vytvořte textový soubor s názvem produkt.txt s následujícím obsahem, kde se jako oddělovač polí používá znak „:“.
produkt.txt
101: Dort: 30 $102: Tužka: 5 $
103: Mýdlo: 3 $
104: Šampon: 10 $
Soubor obsahuje tři pole, produkt.txt který obsahuje ID produktu, název a cenu. Následující příkaz awk vytiskne pouze druhé pole každého řádku. Spusťte příkazy z terminálu.
$ kočičí produkt.txt$ awk -F ':' 'print $ 2' produkt.txt
Výstup:
Zde první příkaz vytiskl obsah produkt.txt a druhý příkaz vytiskl pouze druhé pole souboru.
Příklad - 6: Použití vestavěné proměnné, NR s příkazem awk
Proměnná NR se v příkazu awk používá k výpočtu celkového počtu záznamů nebo řádků souboru. Vytvořte textový soubor s názvem student.txt k otestování funkce této proměnné.
student.txt
Název šarže semestruJan 20 3
Mira 22 1
Ella 18
Charle 15 8
Následující skript awk vytiskne první tři řádky produkt.txt soubor. Zde je podmínka přidána pomocí proměnné NR. Příkaz vytiskne ty řádky, kde je hodnota NR menší než 4. Spusťte skript z terminálu.
Výstup:
Po spuštění skriptu se zobrazí následující výstup.
$ kočka student.txt | awk 'NR < 4'
Příklad - 7: Použití vestavěné proměnné, NF s příkazem awk
Proměnná NF se v příkazu awk používá k počítání celkového počtu polí v každém řádku souboru. Pro soubor je použit následující awk skript, student.txt který je vytvořen v předchozím příkladu. Skript tyto řádky vytiskne student.txt soubor, kde je celkový počet polí menší než 3. Spusťte příkaz z terminálu.
$ kočka student.txt | awk 'NF < 3'Výstup:
V souboru existuje pouze jeden řádek, kde je jako výstup vytištěn celkový počet polí menší než 3.
Příklad - 8: Použití vestavěné proměnné, OFS s příkazem awk
Proměnná OFS se v příkazu awk používá k přidání oddělovače výstupního pole do výstupu. produkt.txt soubor se v tomto příkladu používá k zobrazení použití proměnné OFS. „:“ se v produktu používá jako oddělovač polí.soubor txt. Následující skript awk použil jako hodnotu OFS '->' a druhé a třetí pole souboru se vytiskne přidáním tohoto oddělovače. Spusťte příkazy z terminálu.
$ kočičí produkt.txt$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' produkt.txt
Výstup:
Následující výstup se vytiskne po spuštění příkazů.
Závěr:
V tomto kurzu se pokusíme vysvětlit nejběžnější použití proměnných awk. Doufám, že čtenář po procvičení tohoto tutoriálu bude schopen správně používat proměnné awk ve skriptu.