Páni

Jak používat proměnnou v příkazu awk

Jak používat proměnnou v příkazu awk
Proměnné se používají k uložení jakékoli dočasné hodnoty v libovolném programovacím jazyce.  Definování proměnné v příkazu awk je podobné skriptovacímu jazyku bash a funguje jako bash, když je proměnná prostředí použita s jednoduchou a dvojitou uvozovkou. Příkaz Awk má mnoho předdefinovaných proměnných pro různé účely. Jak lze v příkazu awk použít uživatelem definované vestavěné proměnné a proměnné prostředí, je v tomto kurzu ukázáno pomocí různých příkladů.

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 t3

Vý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éno
103847 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.txt

Vý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 semestru
Jan 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.

Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...
Hry Jak zachytit a streamovat vaši herní relaci v systému Linux
Jak zachytit a streamovat vaši herní relaci v systému Linux
V minulosti bylo hraní her považováno pouze za koníček, ale postupem času došlo v herním průmyslu k obrovskému nárůstu z hlediska technologie a počtu ...
Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...