Awk

A változó használata az awk parancsban

A változó használata az awk parancsban
A változókat bármilyen ideiglenes érték tárolására használják bármely programozási nyelven.  A változó definiálása az awk parancsban hasonló a bash szkript nyelvéhez, és úgy működik, mint a bash, ha a shell változót egyetlen és dupla idézettel használják. Az Awk parancs sok beépített változóval rendelkezik különféle célokra. Az oktatóanyag különböző példák segítségével mutatja be, hogy a felhasználó által definiált, beépített és shell változók hogyan használhatók az awk parancsban.

Example -1: Változó meghatározása és nyomtatása

Az 'awk' parancs a '-v' opcióval határozza meg a változót. Ebben a példában a myvar változót az 'awk' parancs definiálja az érték tárolására, „AWK változó” hogy később kinyomtatják. A kimenet ellenőrzéséhez futtassa a következő parancsot a terminálról.

$ visszhang | awk -v myvar = 'AWK változó' 'print myvar'

Kimenet:

2. példa: Az awk héjváltozó használata egyetlen idézettel és dupla idézettel

A példa bemutatja, hogyan használható a shell változó az 'awk' paranccsal. Itt egy shell változó, myvar értékkel van deklarálva, „Linux Tipp” az első parancsban. A '$' szimbólum egy shell változó nevével együtt használható az érték beolvasására. A második parancs beolvassa a változót, $ myval egyetlen idézettel ('), a harmadik parancs pedig az $ myvar változót kettős idézettel (“) olvassa el az' awk 'utasításban.

$ myvar = "Linux tipp"
$ visszhang | awk -v awkvar = '$ myvar' 'print awkvar; '
$ visszhang | awk -v awkvar = "$ myvar" 'print awkvar; '

Kimenet:

A kimeneten látható, hogy a $ myvar értéke nem olvasható, ha egyetlen idézettel (') van csatolva, és a kimenet $ myvar. Az értéke $ myvar kinyomtatásra kerül, ha dupla idézettel van ellátva (“).

3. példa: ARGC változó beolvasása awk-ban

Az ARGC változó a parancssori argumentumok teljes számának számlálására szolgál. Három parancssori argumentumváltozót (t1, t2, t3) adunk át az alábbi awk szkriptben. Itt a szkript argumentumainak száma összesen 4. Futtassa a parancsfájlt a terminálról.

$ awk 'BEGIN print "Összes argumentum =", ARGC' t1 t2 t3

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

4. példa: A fájl tartalmának olvasása argumentumváltozók szerint

Hozzon létre egy szöveges fájlt vevő.txt a következő tartalommal gyakorolhatja ezt a példát. Itt a fájl minden mezőjét egyetlen választja el fülre tér.

vevő.txt

Azonosító neve
103847 John Micheal
209485 Watson
974732 Mira Hossain

Az Awk parancs minden mezőt bármilyen szövegfájlból argumentumváltozókkal olvashat. Két mező van vevő.txt fájl. Ezek az azonosító és a név. A következő szkript ezt a két mezőt argumentumváltozókkal nyomtatja ki, 1 USD és 2 USD kettő elválasztásával fülre szóközök. Futtassa a parancsfájlt a terminálról.

$ macska ügyfél.txt
$ macska ügyfél.txt | awk 'print $ 1 "\ t \ t" $ 2;'

Kimenet:

A fenti parancsok futtatása után a következő kimenet jelenik meg.

5. példa: Beépített változó, FS és mezőelválasztó opció használata awk paranccsal

Az FS változót az awk parancsban használjuk mezőelválasztóként. A szóköz az FS alapértelmezett értékeként szerepel. A következő parancs beolvassa a fájlt vevő.txt a szóköz használatával mezőelválasztóként, és nyomtassa ki a fájl tartalmát. Futtassa a parancsot a terminálról.

$ awk FS ügyfél.txt

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

Az Awk parancs más karaktereket is használhat mezőelválasztóként az '-F' opcióval. Hozzon létre egy szöveges fájlt termék.txt a következő tartalommal, ahol a ':' mezőelválasztóként szerepel.

termék.txt

101: Sütemény: 30 USD
102: Ceruza: 5 dollár
103: Szappan: 3 USD
104: Sampon: 10 dollár

Három mező van a fájlban, termék.txt amely tartalmazza a termék azonosítóját, nevét és árát. A következő awk parancs minden sornak csak a második mezőjét nyomtatja ki. Futtassa a parancsokat a terminálról.

$ macska termék.txt
$ awk -F ':' 'print $ 2' termék.txt

Kimenet:

Itt az első parancs kinyomtatta a tartalmát termék.txt és a második parancs csak a fájl második mezőjét nyomtatta ki.

6. példa: beépített változó használata, NR awk paranccsal

Az NR változót az awk parancsban használják a fájl rekordok vagy sorok teljes számának megszámolására. Hozzon létre egy szöveges fájlt diák.txt ennek a változónak a működését tesztelni.

diák.txt

Név köteg félév
János 20 3
Mira 22 1
Ella 18
Charle 15 8

A következő awk szkript kinyomtatja az első három sort termék.txt fájl. Itt egy feltétel hozzáadódik az NR változó használatával. A parancs kinyomtatja azokat a sorokat, ahol az NR értéke kisebb, mint 4. Futtassa a parancsfájlt a terminálról.

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

$ macska tanuló.txt | awk 'NR < 4'

7. példa: Beépített változó használata, NF awk paranccsal

Az NF változót az awk parancsban használjuk, hogy megszámoljuk a fájlok minden egyes sorában található mezők számát. A fájlhoz a következő awk szkriptet kell alkalmazni, diák.txt amely az előző példában jön létre. A szkript kinyomtatja ezeket a sorokat diák.txt fájl, ahol az összes mező kevesebb, mint 3. Futtassa a parancsot a terminálról.

$ macska tanuló.txt | awk 'NF < 3'

Kimenet:

Csak egy sor létezik a fájlban, ahol a mezők száma kevesebb, mint 3, amelyet kimenetként nyomtatnak.

8. példa: Beépített OFS változó használata awk paranccsal

Az OFS változót az awk parancsban használják a kimeneti mező elválasztó hozzáadására a kimenetbe. termék.txt fájl ebben a példában az OFS változó használatának bemutatására szolgál. A ':' mezőelválasztóként szolgál a termékben.txt fájl. A következő awk szkript a '->' karaktert használta OFS értékként, és a fájl második és harmadik mezője ennek az elválasztónak a hozzáadásával nyomtat. Futtassa a parancsokat a terminálról.

$ macska termék.txt
$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' termék.txt

Kimenet:

A következő kimenet a parancsok futtatása után fog kinyomtatni.

Következtetés:

Az awk változók leggyakoribb felhasználásait ebben az oktatóanyagban próbálják megmagyarázni. Remélem, az olvasó az oktatóanyag gyakorlása után képes lesz megfelelően használni az awk változókat a szkriptben.

Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...
Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...