Awk

Az „awk” parancs használata az utolsó oszlop kinyomtatásához egy fájlból

Az „awk” parancs használata az utolsó oszlop kinyomtatásához egy fájlból
Az „awk” egy nagyon hatékony Linux parancs, amely más parancsokkal és más változókkal együtt is használható. Ezt a parancsot lényegében egy fájl tartalmának olvasására használják. A fájlolvasás folyamata soha nem volt ennyire egyszerű, mint ezzel a hatékony paranccsal. A fájlolvasást és -írást nagyon gyakran használják, főleg ha Ön programozó. Ezután az olvasott fájl felhasználható annak tartalmának feldolgozására, módosítására vagy akár egyszerűen kinyomtatására.

Vannak azonban olyan esetek, amikor nem szándékozik elolvasni a fájl teljes tartalmát, inkább csak a fájl egy adott részével foglalkozik. Ilyen helyzetben nagyon nem ajánlott elolvasni a teljes fájlt, mivel az extra helyet foglal el, és a feldolgozása is hosszabb időt vesz igénybe, inkább közvetlenül a fájl adott részét kell megütni. Ebben a cikkben arra törekszünk, hogy bemutassuk az „awk” parancs használatának különböző módszereit az utolsó oszlop kinyomtatásához egy fájlból.

Az „awk” parancs használatának különböző módjai az utolsó oszlop fájlból történő kinyomtatásához:

Két különböző módszer létezik, amelyek segítségével az „awk” paranccsal kinyomtathatjuk az utolsó oszlopot egy fájlból. Bár ez a két módszer felcserélhetően használható, mert végül is ugyanazt a kimenetet jelenítik meg, az első módszer azonban jobban megfelel abban a helyzetben, amikor pontosan ismeri a fájl oszlopainak számát, a második módszer pedig akkor hasznos, ha az oszlopok száma nem ismert. Vizsgáljuk meg ezeket a módszereket egyenként.

Megjegyzés: Mindkét módszer bemutatásához a Linux Mint 20-at használtuk, de szabadon választhatja ki a Linux bármelyik ízét.

1. módszer: Ha ismeri a fájl oszlopainak teljes számát:

Ez a módszer akkor használható, ha ismeri a fájl oszlopainak pontos számát e.g. 3, 5, 10 stb. A módszer bemutatásához a következő lépéseket kell végrehajtani a megadott sorrendben:

Hozzon létre egy tetszőleges nevű szövegfájlt a Home mappában. Ebben a forgatókönyvben awk-nak neveztük el.txt. Most kattintson duplán erre a fájlra a megnyitásához, és írja be az alábbi képen látható adatokat a szöveges fájlba. Összesen három különböző oszlop van, és az oszlopokat fülköz választja el egymástól. Beírhat bármilyen tetszés szerinti adatot is.

A fájl létrehozása után el kell mentenie és bezárnia. Most indítsa el a terminált a Linux Mint 20-ban a tálcán található ikonra kattintva. A Linux Mint 20 terminál szintén a következő képen látható:

Most írja be az alább említett parancsot a terminálba, majd nyomja meg az Enter billentyűt a végrehajtáshoz:

$ awk 'print $ ColNum' fájl.txt

Itt ki kell cserélnie a ColNum-ot az utolsó oszlop oszlopszámával. Például az általunk létrehozott szövegfájlnak összesen három oszlopa van, ami azt jelenti, hogy az utolsó oszlop oszlopszáma 3 lesz. Mivel a célunk csak a fájl utolsó oszlopának kinyomtatása, ezért a ColNum-ot 3-mal helyettesítettük. Amikor egy oszlop számát a „$” szimbólum folytatja, ez azt jelenti, hogy hozzá akarunk férni az oszlop értékeihez. Ezenkívül le kell cserélnie a „fájl” szöveget a szöveges fájl pontos nevére. Esetünkben a fájl neve awk volt.txt.

Amint megnyomja az Enter billentyűt, az awk fájl utolsó oszlopának összes értéke.A txt megjelenik a terminálon, a következő képen látható módon. Az awk parancs beolvassa ezt az oszlopot, míg a print parancs felel az értékek megjelenítéséért a terminálon.

2. módszer: Ha a fájl oszlopainak teljes száma ismeretlen:

Ezt a módszert általában akkor használják, ha nem ismeri a fájl oszlopainak teljes számát. A fájl utolsó oszlopának ezzel a módszerrel történő kinyomtatásához a következőket kell tennie:

Ugyanazt a szövegfájlt használjuk, amelyet a fenti módszerhez készítettünk. Csak annyit kell tennünk, hogy elindítjuk a terminált, majd beírjuk a következő parancsot:

$ awk 'print $ (NF)' fájl.txt

Itt az NF egy olyan változó, amelynek feladata kifejezetten kinyomtatni egy fájl utolsó oszlopát. Például, ha egy fájlban 10 vagy 20 vagy még több oszlop van, de nem ismeri azok pontos számát, és mégis hozzáférni akar az utolsó oszlophoz, akkor ez a változó nagyon hasznos lehet az Ön számára. Ismét le kell cserélnie a „fájl” szöveget a szöveges fájl nevére. Esetünkben, mivel ugyanazt a fájlt használtuk, mint az 1. módszer, ezért kicseréltük a fájlt.txt az awk-val.txt.

Miután beírta ezt a parancsot a terminálba, az Enter billentyű lenyomásával futtatnia kell. Észre fogja venni, hogy ennek a parancsnak a kimenete megegyezik a fenti módszerben használt parancs kimenetével.e. az évadatokat tartalmazó szövegfájl utolsó oszlopát sikeresen kinyomtatták a terminálra.

Következtetés:

Ebben a cikkben útmutatást adtunk arról, hogy csak az utolsó oszlopot kell kinyomtatni egy fájlból, miközben az „awk” parancsot használjuk. Sokkal több aspektusa van ennek a parancsnak, amelyek részletesen felfedezhetők i.e. ez a parancs más különféle parancsokkal együtt is használható más típusú kimenetek megjelenítésére. A mai vita keretein belül azonban csak az volt a célunk, hogy bemutassuk annak használatát az utolsó oszlop fájlból történő kinyomtatásához. Bemutattuk nektek ugyanannak a két különböző módját. Most már teljesen a helyzeteden múlik, hogy ezek közül melyik módszert választod követni.

Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...
A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...