Ärme

Käsu “awk” kasutamine failist viimase veeru printimiseks

Käsu “awk” kasutamine failist viimase veeru printimiseks
“Awk” on väga võimas Linuxi käsk, mida saab kasutada nii teiste käskude kui ka teiste muutujatega. Seda käsku kasutatakse peamiselt faili sisu lugemiseks. Faili lugemise protsess pole kunagi olnud nii palju lihtsam kui selle tõhusa käsu korral. Failide lugemist ja kirjutamist kasutatakse väga korduvalt, eriti kui olete programmeerija. Loetud faili saab seejärel kasutada selle sisu töötlemiseks, muutmiseks või isegi lihtsalt printimiseks.

Siiski on olukordi, kus te ei kavatse kogu selle faili sisu lugeda, pigem on see seotud ainult konkreetse faili osaga. Sellises olukorras pole väga soovitatav lugeda tervet faili, kuna see võtab lisaruumi ja võtab ka töötlemiseks rohkem aega, pigem peaksite otse tabama selle faili selle osa. Selles artiklis püüame tutvustada erinevaid meetodeid, kuidas kasutada käsku „awk” viimase veeru printimiseks failist.

Käsu “awk” kasutamise viis failist viimase veeru printimiseks:

On kaks erinevat meetodit, mille abil saame failist viimase veeru printimiseks kasutada käsku „awk”. Kuigi neid kahte meetodit saab kasutada omavahel asendatult, sest need annavad lõpuks sama väljundi, on esimene meetod siiski sobivam olukorras, kus teate faili täpset veergude arvu ja teine ​​meetod on kasulik, kui veergude koguarv pole teada. Vaatame mõlemat meetodit ükshaaval.

Märkus: mõlema meetodi demonstreerimiseks oleme kasutanud Linux Mint 20, kuid võite vabalt valida oma valitud Linuxi mis tahes maitse.

1. meetod: kui teate faili veergude koguarvu:

Seda meetodit saab kasutada, kui teate faili täpset veergude arvu e.g. 3, 5, 10 jne. Selle meetodi demonstreerimiseks tuleks järgmised sammud teha kindlaksmääratud järjekorras:

Looge oma kodukataloogis teie valitud nimega tekstifail. Selles stsenaariumis oleme seda nimetanud awk-ks.txt. Nüüd topeltklõpsake seda faili selle avamiseks ja tippige alloleval pildil näidatud andmed oma tekstifaili. Seal on kokku kolm erinevat veergu ja veerud on üksteisest eraldatud vahekaardiga. Võite ka sisestada mis tahes juhuslikud andmed enda valitud.

Pärast selle faili loomist peate selle salvestama ja sulgema. Nüüd käivitage terminal Linux Mint 20-s, klõpsates selle ikooni tegumiribal. Linux Mint 20 terminal on näidatud ka järgmisel pildil:

Nüüd tippige oma terminali allpool nimetatud käsk ja vajutage selle täitmiseks sisestusklahvi:

$ awk 'print $ ColNum' fail.txt

Siin peate ColNumi asendama viimase veeru veerunumbriga. Näiteks on meie loodud tekstifailis kokku kolm veergu, mis tähendab, et viimase veeru veerunumber on 3. Kuna meie eesmärk on printida ainult selle faili viimane veerg, oleme ColNumi asendanud 3-ga. Alati, kui veeru numbrit jätkab sümbol „$“, tähendab see, et soovime juurde pääseda selle veeru väärtustele. Pealegi peate ka faili asendama oma tekstifaili täpse nimega. Meie puhul oli faili nimi awk.txt.

Niipea kui vajutate klahvi Enter, on kõik faili viimase veeru väärtused awk.txt ilmub teie terminali, nagu on näidatud järgmisel pildil. Käsk awk loeb seda veergu, printimise käsk vastutab selle väärtuste kuvamise eest terminalis.

2. meetod: kui faili veergude koguarv on teadmata:

Seda meetodit kasutatakse tavaliselt siis, kui te ei tea faili veergude koguarvu kohta. Selle meetodi abil faili viimase veeru printimiseks peate toimima järgmiselt

Kasutame sama tekstifaili, mille oleme loonud ülaltoodud meetodi jaoks. Kõik, mida me peame tegema, on terminali käivitamine ja seejärel selle tippimine järgmine käsk:

$ awk 'print $ (NF)' fail.txt

Siin on NF muutuja, mille ülesandeks on failist viimase veeru selgesõnaline printimine. Näiteks kui failis on 10 või 20 või isegi rohkem veergu, kuid te ei tea nende täpset arvu ja soovite siiski juurde pääseda viimasele veerule, võib see muutuja teie jaoks väga kasulikuks osutuda. Jällegi peate asendama "fail" oma tekstifaili nimega. Kuna meie puhul on kasutatud sama faili kui meetodil nr 1, oleme selle faili asendanud.txt koos awk-ga.txt.

Pärast selle käsu sisestamist oma terminali peate selle käivitama, vajutades sisestusklahvi. Märkate, et selle käsu väljund on identne ülaltoodud meetodis kasutatud käsu väljundiga i.e. aastafaili sisaldava tekstifaili viimane veerg on terminali edukalt trükitud.

Järeldus:

Selles artiklis andsime teile juhised failist ainult viimase veeru printimiseks, kasutades samal ajal käsku "awk". Selles käsus on palju rohkem aspekte, mida saab üksikasjalikult uurida, st.e. seda käsku saab kasutada ka koos teiste erinevate käskudega teistsuguse väljundi renderdamiseks. Kuid tänase arutelu raames oli meie eesmärk ainult näidata selle kasutamist failist viimase veeru printimiseks. Tutvustasime teile kahte erinevat viisi sama asja tegemiseks. Nüüd sõltub täielikult teie olukorrast, millist neist meetoditest valite.

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...