Az awk parancs használata a Bashban

Az Awk Parancs Hasznalata A Bashban



A parancssori környezetben végzett munka során elengedhetetlen a fájlok, könyvtárak és egyéb adatok hatékony kezeléséhez rendelkezésre álló különféle parancsok alapos ismerete. Az egyik ilyen parancs az „awk” parancs. Az awk egy hatékony segédprogram, amely szövegfájlok feldolgozására és kezelésére szolgál Unix/Linux környezetben. Ez a cikk elmagyarázza, mi az „awk” parancs, és hogyan lehet hatékonyan használni.

Mi az „awk” parancs?

Az „awk” parancs egy hatékony eszköz a szövegfájlok kezeléséhez és feldolgozásához Unix/Linux környezetben. Használható olyan feladatok végrehajtására, mint a mintaillesztés, szűrés, rendezés és adatok manipulálása. Az awk-t főként adatok strukturált feldolgozására és manipulálására használják.







Az awk parancs használata

Az awk egy parancssori eszköz, amely többféleképpen használható. Meghívható közvetlenül a parancssorból, vagy használható shell scripttel együtt. Íme néhány példa az awk használatára:



1. példa: Sorok számának megszámlálása egy fájlban

A fájlban lévő sorok számának megszámlálásához a következő awk szintaxist használhatja:



awk „END{print NR}” < fájlnév.txt >


Itt az „NR” egy beépített változó, amely tartalmazza az awk által feldolgozott rekordok (sorok) számát. Az „END” kulcsszó azt mondja az awk-nak, hogy a fájl összes sorának feldolgozása után hajtsa végre ezt a parancsot. Itt létrehoztam egy szöveges fájlt szemléltetés céljából, majd a fenti szintaxist egy shell szkriptben használtam, amely a következő:





#!/bin/bash
awk „END{print NR}” tesztfájl.txt


Az általam létrehozott szövegfájl kétsoros, és az awk parancs használatakor a kimenet 2 jelenik meg, az alábbi képen láthatja az általam létrehozott szövegfájlt:



2. példa: Adatok szűrése

Az awk használható adatok adott kritériumok alapján történő szűrésére, és itt van a szintaxis, amelyet ilyen célra kell használni:

awk '!//' < fájlnév.txt >


Például az alábbi paranccsal kiszűrheti a fájl összes sorát, amely a „Hello” szót tartalmazza.

#!bin/bash
awk '!/Helló/' tesztfájl.txt


Ebben a példában a „!” szimbólum tagadja a reguláris kifejezés keresését, így minden olyan sor ki lesz nyomtatva, amely nem tartalmazza a „Hello” szót. Ugyanazt a szövegfájlt használtam, mint az előző példában, így itt van a fent megadott szkript kimenete:

3. példa: Adott mezők kinyerése

Az awk használható adott mezők kinyerésére is egy fájlból. Például, ha van egy fájlja, amely név- és címlistát tartalmaz, és csak a neveket szeretné kibontani, akkor a következő parancsot használhatja:

awk '{print $}' < fájlnév.txt >


Itt illusztrációként kinyomtattam ugyanannak a szövegfájlnak az első mezőjét, és a „$1” a fájl minden sorában az első mezőt jelenti. A „print” parancs arra utasítja az awk-t, hogy csak ezt a mezőt írja ki.

#!/bin/bash
awk '{print $1}' tesztfájl.txt


A szövegfájlban az első sor első bejegyzése „This”, a második sor első bejegyzése pedig „Hello”, tehát itt van a megadott kód kimenete:

Következtetés

Az awk parancs egy hatékony eszköz, amelyet szövegfájlok kezelésére és feldolgozására használnak. Lehetővé teszi különféle műveletek végrehajtását szöveges fájlokon, például meghatározott oszlopok nyomtatását, minták keresését és összegek kiszámítását. Az awk alapjainak elsajátításával egyszerűsítheti munkafolyamatait, és hatékonyabb és eredményesebb Linux- vagy Unix-felhasználóvá válhat.