Awk

10 fantasztikus Awk-parancs

10 fantasztikus Awk-parancs
Az Awk parancs hatékony eszköz az adatok feldolgozására. Bemeneti adatokat kap, manipulál és standard kimenetben eredményt ad. Különböző műveletek hajthatók végre egy fájl sorain és oszlopain.

Az „awk” parancs lényeges ismerete nagyon fontos az adatok hatékony feldolgozásakor, és ez a bejegyzés az „awk” parancs legfontosabb jellemzőit ismerteti. Először ellenőrizzük a szintaxist:

$ awk [opciók] [fájl]

Néhány gyakran használt opció az alábbi táblázatban található:

választási lehetőség Leírás
-F Fájlelválasztó megadása
-f Adja meg az „awk” szkriptet tartalmazó fájlt
-v Változó hozzárendeléséhez

Nézzünk meg néhány példát az „awk” parancs használatáról, és bemutatás céljából készítettem egy szöveges fájlt a testFile.txt:

1. Hogyan nyomtathat ki egy fájl oszlopát az awk paranccsal?

Az „awk” paranccsal meg lehet szerezni a szövegfájl egy adott oszlopát. A fájl tartalmának kinyomtatásához:

$ cat testFile.txt

Most a fájl második oszlopának kinyomtatásához használja:

$ awk 'print $ 2' testFile.txt

Több mező nyomtatásához használja a következő parancsot:

$ awk 'print $ 1, $ 2, $ 3' testFile.txt

Ha nem használja a vesszőt, akkor a kimenet szóköz nélkül lesz:

$ awk 'print $ 1 $ 2 $ 3' testFile.txt

2. A reguláris kifejezés használata awk paranccsal:

A karakterláncok vagy bármely kifejezés egyezéséhez például „//” perjelet használunk, ha például a „History” szakot tanulmányozó emberek nevét szeretné kinyomtatni, akkor használja a következőket:

$ awk '/ History / print $ 2' testFile.txt

A kimenet világosan mutatja, hogy csak „Sam” és „Tommy” tanul a „History” tanfolyamon.

3. A relációs kifejezés használata az „awk” paranccsal:

Egy adott mező tartalmának megfeleltetéséhez relációs kifejezés használható. Ha bármilyen karakterláncot vagy kifejezést egy mezőhöz szeretne illeszteni, jelölje meg a mezőt, és használja a „~” összehasonlító operátort a mintával a következő parancs szerint:

$ awk '$ 3 ~ / is / print $ 2' testFile.txt

A fenti kimenet a 2. oszlop minden mezőjét jeleníti meg minden olyan mezővel szemben, amely a 3. oszlopban az „is” szót tartalmazza.

A fenti parancs ellentétes kimenetének megszerzéséhez használja a! ~ ”Operátor:

$ awk '$ 3! ~ / is / print $ 2 'testFile.txt

Összehasonlításképpen használhatunk olyan operátorokat is, mint a „>” -nál nagyobb és a „<” and equal “=” as well:

$ awk '$ 4> 70 print $ 2' testFile.txt

A kimenet kinyomtatta azoknak a nevét, akik 70-nél több pontot kaptak.

4. A tartományminta használata az awk paranccsal:

Egy tartomány is használható keresésre; egyszerűen használja a „,” vesszőt a tartomány elválasztására az alább említett parancs szerint:

$ awk '/ Joel /, / Marlene / print $ 3' testFile.txt

A kimenet a „Joel” és a „Marlene” tartományba eső alanyokat mutatja a 2. oszlopban. A tartomány = = kettős egyenlőségjelet használhatunk egy tartomány meghatározására; lásd az alábbi példát:

$ awk '$ 4 == 80, $ 4 == 90 print $ 0' testFile.txt

A kimenet a 2. oszlopban szereplő emberek nevét jeleníti meg a 4. oszlop „70–80” jeltartományáig.

5. Hogyan kombinálhatjuk a mintát logikai operátor segítségével:

Az olyan logikai operátorok használata, mint az OR „||,” ÉS „&&”, lehetővé teszik a minták kombinálását a kereséshez. Használja a következő parancsot

$ awk '$ 4> 80 && $ 6> 0.4 print $ 2 'testFile.txt

A fenti parancs kinyomtatja az emberek nevét a 80-nál nagyobb, a hatodik 0-nál nagyobb mezőhöz.4. És csak két rekord teljesíti a feltételt.

6. Az awk parancs speciális kifejezései:

Két különleges kifejezés van:KEZDŐDIK”És„VÉGE”:

BEGIN: Művelet végrehajtása az adatok feldolgozása előtt

VÉGE: Művelet végrehajtása az adatok feldolgozása után

$ awk 'BEGIN print “A feldolgozás megkezdődött”; print $ 2; END print “A feldolgozás befejeződött” 'testFile.txt

7. Az awk parancs hasznos beépített változója:

Az awk parancs különféle változókat tartalmaz, amelyek segítenek az adatfeldolgozásban:

Változó Leírás
NF Megadja az adatok mezőinek számát
NR Megadja az aktuális rekord számát
FÁJL NÉV Megjeleníti a jelenleg feldolgozás alatt álló fájl nevét
FS és OFS Mezőelválasztó és kimeneti mezőelválasztó
RS és ORS Elválasztja a rekordot és a kimeneti rekord elválasztót

Például:

$ awk 'END print "A fájl neve:" FILENAME "" NF "mezők és" NR "rekordok"' testFile.txt

Az „END” -t használjuk, de ha a „BEGIN” -t használja, a kimenet 0 mezőt és 0 rekordot ad.

8. A rekordelválasztó módosítása:

A rekord alapértelmezett elválasztója általában a szóköz; ha van vessző „,” vagy pont „.”Mezőelválasztóként, majd az elválasztóval együtt használja az„ FS ”opciót.

Legyen egy másik fájlunk, ahol az adatmezőket vessző kettőspont választja el egymástól::

$ cat testFile2.txt
$ awk 'BEGIN FS = “:” print $ 2' testFile2.txt

Mivel a fájl elválasztója kettőspont, de az „awk” parancs még az ilyen fájlok számára is előnyös, egyszerűen használja az „FS” opciót.

Az „-F” szintén használható:

$ awk -F “:” 'print $ 2' testFile2.txt

Az alapértelmezett rekordelválasztó az „újsor”, és ha a rekordelválasztót „:” értékre szeretné állítani, használja:

$ awk 'BEGIN RS = “:” print $ 1' testFile2.txt

9. Awk műveletek:

Az Awk műveletek apró programok, amelyeket „” zárójelek vesznek körül, és amelyeknél egynél több utasítás pontosvesszővel elválasztva van;.

Az „awk” paranccsal leggyakrabban használt utasítás a „print” utasítás. Például minden rekordhoz szöveget nyomtathat, használjon szöveges karakterláncot idézőjelben:

$ awk '"Az egy mező," $ 2 "tesztfájl.txt

Végezzünk egy egyszerű összegző műveletet az awk használatával:

$ awk 'sum + = $ 4 END printf „% d \ n”, sum' testFile.txt

10. Az awk program létrehozása:

Kezdjük az „awk” programozással, az alábbiakban megadott programozás egyszerűen szorzást végez:

BEGIN
i = 2
míg (j<4)

print „A 2 szorzása j-vel szorzata az„ i * j;
j++

Mentse a programot a következő névre:myCode.awk”Futtatásához nyissa meg a terminált és írja be:

$ awk -f myCode.awk

Következtetés:

Az „awk” parancs praktikus parancs a szöveges fájlok adatainak feldolgozására, beolvasására, például a fájl bármely adott mezőjének elválasztására; az „awk” parancsot használjuk. Ez megkönnyíti a szöveges fájlokból bármilyen formában vagy mintában történő keresést. Ebben az útmutatóban megértjük az „awk” parancs alapjait és használatát. Az „awk” parancs ellenőrzi az adatokat, generál jelentéseket, sőt fájlokat is elemez. Az „awk” egyszerű parancsok használatával a felhasználók apró programokat is írhatnak az adatok hatékonyabb feldolgozása érdekében.

A kurzor véletlenszerűen ugrik vagy mozog, miközben gépel a Windows 10-ben
Ha úgy találja, hogy az egér kurzor önállóan, automatikusan, véletlenszerűen ugrik vagy mozog, miközben gépel Windows laptopba vagy számítógépbe, akko...
Az egér és az érintőpadok görgetési irányának megfordítása a Windows 10 rendszerben
Egér és Érintőpads nemcsak a számítást könnyűvé, de hatékonyabbá és kevésbé időigényessé is teszi. Nem tudunk elképzelni egy életet ezek nélkül az esz...
Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...