Awk

Hogyan használható a ciklus az awk parancsban

Hogyan használható a ciklus az awk parancsban
A hurok bizonyos utasítások többszöri végrehajtására szolgál. A hurok iterációja a befejezési feltétel vagy a tömb elemek száma alapján. Három hurkotípust támogat bármely programozási nyelv. Mert a hurok az egyik. Mert a ciklus kétféleképpen deklarálható. A ciklus egyszerű három részből áll.  És egy másik a hurok számára a bejövő hurok, amelyet bármilyen adat- vagy tömblista iterációjára használnak. Ez az oktatóanyag bemutatja a kétféle hurok használatát az awk parancsban különféle példák segítségével.

Szintaxis:

  1. hurok deklarációhoz:
for (inicializálás; felmondási feltétel; növekmény / csökkentés)
nyilatkozatok

Az első rész a változó inicializálására szolgál mert hurok. A második rész tartalmazza a befejezés feltételét a hurok iterációjának szabályozásához, és a hurok addig folytatódik, amíg a feltétel igaz. Az utolsó rész növeli vagy csökkenti az inicializálási változót az első rész alapján.

  1. in-in nyilatkozat
for (változó a tömbben / listában)
nyilatkozatok

be a hurok azon feladatok elvégzésére szolgál, amelyeknél a hurok iterációjának száma nincs rögzítve. be A hurok elsősorban egy tömb vagy adatlista elemzésére szolgál. A hurok kiolvassa a tömb vagy a lista minden adatait, és az értékeket minden iterációban egy változónak tárolja.

1. példa: Simple for loop használata

Egy egyszerű ciklust használunk a következő szkriptben. Itt, számláló változót 10-gyel inicializáljuk, és a hurok akkor ér véget, amikor a számláló kevesebb, mint 5. A szkript kinyomtatja a számláló értékek 10-től 5-ig. Futtassa a parancsot a terminálról.

$ visszhang | awk 'for (számláló = 10; számláló> = 5; számláló--)
nyomtassa ki a "Running for", counter "számokat."," \ n "; '

Kimenet:

A parancs végrehajtása után a következő kimenet jelenik meg.

2. példa: A bejövő hurok használata egy tömb elolvasásához

Az Ügyfél nevű tömböt a következő szkript deklarálja, ahol az ügyfél id tömbindexként van beállítva, és az ügyfél név tömbértékként van beállítva. be A hurok itt minden indexet a tömbből iterál és az ügyfél nevét kinyomtatja. Futtassa a parancsfájlt a terminálról.

$ visszhang | awk 'BEGIN Ügyfél ["4587"] = "Neil Johnson";
Ügyfél ["8953"] = "Ella binte Nazir";
Ügyfél ["3455"] = "Bruce Hyslop";
Ügyfél ["6335"] = "Isabella";
 
VÉGE for (i in Customer)
print "A", i, "is" neve, Ügyfél [i]
'

Kimenet:

A szkript végrehajtása után a következő kimenet jelenik meg.

3. példa: Beágyazott használata hurokhoz

Amikor egy for ciklust egy másik ciklus alatt deklarálunk, akkor azt egymásba ágyazottnak nevezzük. Az ebben a szkriptben használt külső hurok kétszer, a belső hurok pedig háromszor fog ismétlődni. Tehát a nyomtatási utasítás (2X3 = 6) 6 alkalommal fog végrehajtani. Futtassa a parancsfájlt a terminálról.

$ visszhang | awk 'END for (i = 1; i<=2; i++)
mert (j = 1; j<=3; j++)
"Iterating row", i, "and column", j, "\ n"; 'nyomtatása

Kimenet:

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

4. példa: Használat hurokhoz törés utasítással

szünet utasítás bármely hurokban a hurok befejezésére szolgál, mielőtt az adott feltétel alapján elérné a felmondási feltételt. A következő szkriptben a ciklus 3-tól kezdődik, és akkor ér véget, amikor a én nagyobb, mint 20. De amikor az értéke én egyenlő lesz a változóval szám akkor az if feltétel igaz lesz, és a hurok véget ér a szünet nyilatkozat.

$ visszhang | awk 'BEGIN szám = 7; VÉGE for (i = 3; i<=20; i++)
if (i == szám) break;
más
print "i = aktuális értéke", i, "\ n"; '

Kimenet:

Itt, ha a feltétel hamis négy iteráció esetén, amikor a értéke én értéke 3,4,5 és 6. Tehát a következő kimenetet nyomtatjuk a négy iterációra.

5. példa: A hurok használata folytatás utasítással

A Continue utasítás bármely ciklusban felhasználható bármely feltétel feltétel nélküli kihagyására. Nevű tömb termék a következő szkriptben van deklarálva. be a hurok a tömb iterálására szolgál, és minden értéket a “Irodai szoftverek„. Ha az érték megegyezik, akkor egy nem elérhető üzenet fog kinyomtatni a rendelkezésre álló üzenet kihagyásával a folytatás utasításhoz, különben az nem elérhető üzenet nyomtat. Futtassa a parancsfájlt a terminálról.

$ visszhang | awk 'BEGIN termék ["1001"] = "Vírusirtó";
termék ["1002"] = "Irodai szoftver";
termék ["1003"] = "Rajzoló szoftver";
termék ["1004"] = "HDD";
termék ["1005"] = "DVD"; VÉGE for (i in product)
if (termék [i] == "Irodai szoftver")
nyomtatási termék [i], "nem érhető el \ n";
folytatni;

nyomtatott termék [i], "elérhető", "\ n"; '

Kimenet:

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

6. példa: A ciklus használata az awk fájlban

Hozzon létre egy szöveges fájlt értékesítés.txt és adja hozzá a következő tartalmat a példa gyakorlásához.

értékesítés.txt

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Hozzon létre egy nevű awk fájlt cal_sal.awk a következő szkript segítségével kiszámíthatja a fájl teljes értékesítési összegét értékesítés.txt. A második mező az éves értékesítési összeget tartalmazza a fájlban értékesítés.txt. A forgatókönyvben, az eladások tömb tárolja a második mező összes értékét és összeg változót 0-val inicializáljuk, hogy összeadjuk a értékesítés sor. Következő, be ciklust használjuk az egyes elemek iterálásához az eladások tömb és adja hozzá az értéket a összeg változó. Végül a print utasítás segítségével nyomtathatjuk ki az értékét összeg változó a teljes eladási összeg megjelenítéséhez.

cal_sal.awk


eladások [i ++] = 2 USD;
összeg = 0;

END
(i az értékesítésben)

összeg = összeg + értékesítés [i];

print "Teljes eladási összeg =" összeg;

Futtassa a következő parancsot a cal_sal parancsfájljának végrehajtásához.awk fájl.

$ awk -f cal_sal.awk eladások.txt

Kimenet:

5 rekord van a értékesítés.txt fájl és az eladási összeg összege 409000, amelyet a szkript végrehajtása után nyomtatnak ki.

Következtetés:

A loop in awk parancs különböző felhasználásait megpróbálják elmagyarázni ebben az oktatóanyagban. Remélem, az olvasó világos képet fog kapni a ciklus használatáról az awk szkriptben, és képes lesz megfelelően használni a ciklust az awk programozásában.

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...