Awk

Izmantojot komandu “awk”, lai no faila izdrukātu pēdējo kolonnu

Izmantojot komandu “awk”, lai no faila izdrukātu pēdējo kolonnu
“Awk” ir ļoti spēcīga Linux komanda, kuru var izmantot kopā ar citām komandām, kā arī ar citiem mainīgajiem. Šo komandu galvenokārt izmanto faila satura nolasīšanai. Failu lasīšanas process vēl nekad nav bijis tik daudz vienkāršāks kā tas ir ar šo efektīvo komandu. Failu lasīšana un rakstīšana tiek ļoti atkārtoti izmantota, īpaši, ja esat programmētājs. Tad izlasīto failu var izmantot tā satura apstrādei, modificēšanai vai pat vienkārši drukāšanai.

Tomēr ir situācijas, kurās jūs neplānojat lasīt visu šī faila saturu, drīzāk jūs domājat tikai par konkrētu šī faila daļu. Šādā situācijā nav ieteicams izlasīt visu failu, jo tas aizņems papildu vietu un arī apstrāde prasīs ilgāku laiku, drīzāk tieši jāsit konkrētajai šī faila daļai. Šajā rakstā mūsu mērķis ir iepazīstināt ar dažādām metodēm, kā izmantot komandu “awk”, lai no faila izdrukātu pēdējo kolonnu.

Dažādi veidi, kā izmantot komandu “awk”, lai no faila izdrukātu pēdējo kolonnu:

Ir divas dažādas metodes, kurās mēs varam izmantot komandu “awk”, lai no faila izdrukātu pēdējo kolonnu. Lai gan šīs divas metodes var izmantot savstarpēji aizstājamas, jo galu galā tās nodrošina pašu izvadi, tomēr pirmā metode ir piemērotāka situācijai, kad jūs zināt precīzu faila kolonnu skaitu, un otrā metode ir noderīga, ja kopējais kolonnu skaits nav zināms. Apskatīsim abas šīs metodes pa vienam.

Piezīme: Mēs izmantojām Linux Mint 20, lai parādītu abas šīs metodes, taču jūs varat brīvi izvēlēties jebkuru Linux garšu pēc savas izvēles.

1. metode: kad zināt faila kolonnu kopējo skaitu:

Šo metodi var izmantot, ja zināt precīzu kolonnu skaitu failā e.g. 3, 5, 10 utt. Lai demonstrētu šo metodi, noteiktā secībā jāveic šādas darbības:

Mājas mapē izveidojiet teksta failu ar jebkuru izvēlētu nosaukumu. Šajā scenārijā mēs to esam nosaukuši kā awk.txt. Tagad veiciet dubultklikšķi uz šī faila, lai to atvērtu, un teksta failā ierakstiet datus, kas parādīti zemāk esošajā attēlā. Kopā ir trīs dažādas kolonnas, un kolonnas ir atdalītas viena no otras ar cilnes atstarpi. Varat arī ierakstīt visus izvēlētos nejaušos datus.

Pēc šī faila izveides tas ir jāsaglabā un jāaizver. Tagad palaidiet termināli Linux Mint 20, noklikšķinot uz tā ikonas, kas atrodas uzdevumjoslā. Linux Mint 20 terminālis ir parādīts arī šajā attēlā:

Tagad ievadiet zemāk minēto komandu savā terminālā un pēc tam nospiediet taustiņu Enter, lai to izpildītu:

$ awk 'print $ ColNum' fails.txt

Šeit jums jāaizstāj ColNum ar pēdējās kolonnas kolonnas numuru. Piemēram, mūsu izveidotajā teksta failā ir trīs kolonnas, kas nozīmē, ka pēdējās kolonnas kolonnas numurs būs 3. Tā kā mūsu mērķis ir izdrukāt tikai šī faila pēdējo kolonnu, mēs esam aizstājuši ColNum ar 3. Ikreiz, kad kolonnas numuru turpina simbols “$”, tas nozīmē, ka mēs vēlamies piekļūt šīs kolonnas vērtībām. Turklāt jums ir jāaizstāj “fails” ar precīzu teksta faila nosaukumu. Mūsu gadījumā faila nosaukums bija awk.txt.

Tiklīdz jūs nospiedīsit taustiņu Enter, visas faila pēdējās kolonnas vērtības awk.txt parādīsies jūsu terminālā, kā parādīts nākamajā attēlā. Komanda awk nolasīs šo kolonnu, savukārt drukas komanda būs atbildīga par tās vērtību parādīšanu terminālā.

2. metode: ja faila kolonnu kopējais skaits nav zināms:

Šo metodi parasti izmanto, ja nezināt par kopējo kolonnu skaitu failā. Lai drukātu faila pēdējo kolonnu, izmantojot šo metodi, jums būs jārīkojas šādi:

Mēs izmantojam to pašu teksta failu, kuru esam izveidojuši iepriekš aprakstītajai metodei. Viss, kas mums jādara, ir palaist termināli un pēc tam tajā ierakstīt šādu komandu:

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

Šeit NF ir mainīgais, kura uzdevums ir skaidri izdrukāt faila pēdējo kolonnu. Piemēram, ja failā ir 10, 20 vai pat vairāk kolonnu, bet jūs nezināt precīzu to skaitu un tomēr vēlaties piekļūt pēdējai kolonnai, šis mainīgais var izrādīties jums ļoti noderīgs. Atkal jums ir jāaizstāj “fails” ar teksta faila nosaukumu. Mūsu gadījumā, tā kā mēs esam izmantojuši to pašu failu kā 1. metodes failā, mēs esam aizstājuši failu.txt ar awk.txt.

Pēc šīs komandas ierakstīšanas savā terminālā jums tas jāpalaiž, nospiežot taustiņu Enter. Jūs ievērosiet, ka šīs komandas izvade ir identiska iepriekš izlaistajā metodē izmantotās komandas izejai.e. pēdējā termina teksta faila aile, kurā bija gada dati, ir veiksmīgi izdrukāta.

Secinājums:

Šajā rakstā mēs sniedzām norādījumus par faila tikai pēdējās kolonnas drukāšanu, vienlaikus izmantojot komandu “awk”. Šajā komandā ir daudz vairāk aspektu, kurus var detalizēti izpētīt, t.i.e. šo komandu var izmantot arī kopā ar citām komandām, lai sniegtu cita veida izvadi. Tomēr attiecībā uz šodienas diskusiju mums bija jāparāda tikai tās izmantojums pēdējās kolonnas drukāšanai no faila. Mēs jums iepazīstinājām ar diviem dažādiem paņēmieniem, kā darīt vienu un to pašu. Tagad no jūsu situācijas pilnībā atkarīgs, kuru no šīm metodēm izvēlaties izmantot.

Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...
Kā mainīt peles rādītāja un kursora izmēru, krāsu un shēmu operētājsistēmā Windows 10
Peles rādītājs un kursors operētājsistēmā Windows 10 ir ļoti svarīgi operētājsistēmas aspekti. To var teikt arī par citām operētājsistēmām, tāpēc pati...
Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...