Awk

Kā izdrukāt pirmo kolonnu, pēdējo kolonnu vai abus, izmantojot 'awk

Kā izdrukāt pirmo kolonnu, pēdējo kolonnu vai abus, izmantojot 'awk

Linux komanda “awk” ir spēcīga utilīta dažādām darbībām ar teksta failiem, piemēram, meklēšanu, aizstāšanu un drukāšanu. To ir viegli izmantot ar tabulas datiem, jo ​​tas automātiski sadala katru rindu laukos vai kolonnās, pamatojoties uz lauku atdalītāju. Strādājot ar teksta failu, kurā ir tabulas dati, un vēlaties izdrukāt konkrētas kolonnas datus, vislabākā iespēja ir komanda 'awk'. Šajā apmācībā mēs parādīsim, kā izdrukāt līnijas vai teksta faila pirmo kolonnu un / vai pēdējo kolonnu.

Izdrukājiet komandas izvades pirmo kolonnu un / vai pēdējo kolonnu

Daudzas Linux komandas, piemēram, komanda 'ls', ģenerē tabulas izvades. Šeit mēs parādīsim, kā izdrukāt pirmo kolonnu un / vai pēdējo kolonnu no komandas 'ls -l' izejas.

1. piemērs: izdrukājiet komandas izvades pirmo kolonnu

Šāda komanda “awk” izdrukās pirmo kolonnu no komandas “ls -l” izejas.

$ ls -l
$ ls -l | awk 'print $ 1'

Pēc iepriekš minēto komandu izpildīšanas tiks izveidota šāda izeja.

2. piemērs: izdrukājiet komandas izvades pēdējo kolonnu

Šāda komanda “awk” izdrukās pēdējo kolonnu no komandas “ls -l” izejas.

$ ls -l
$ ls -l | awk 'print $ NF'

Pēc iepriekš minēto komandu izpildes tiks izveidota šāda izeja.

3. piemērs: izdrukājiet komandu izejas pirmo un pēdējo kolonnu

Ar komandu 'awk' tiks izdrukāta pirmā un pēdējā kolonna no komandas 'ls -l' izejas.

$ ls -l
$ ls -l | awk 'print $ 1, $ NF'

Pēc iepriekš minēto komandu izpildīšanas tiks izveidota šāda izeja.

Izdrukājiet teksta faila pirmo un / vai pēdējo kolonnu

Šeit mēs parādīsim, kā izmantot komandu awk, lai izdrukātu teksta faila pirmo un / vai pēdējo kolonnu.

Izveidojiet teksta failu

Lai sekotu līdzi šai apmācībai, izveidojiet teksta failu ar nosaukumu klientiem.txt ar šādu saturu. Failā ir trīs veidu klienta dati: vārds ar ID, e-pasts un tālruņa numurs. Cilnes rakstzīmi (\ t) izmanto šo vērtību atdalīšanai.

Nosaukums E-pasts Tālrunis
Jonathon Bing - 1001 [aizsargāts ar e-pastu] 01967456323
Mišels Džeksons - 2006. gads [aizsargāts ar e-pastu] 01756235643
Janifers Lopess - 3029 [aizsargāts ar e-pastu] 01822347865
Džons Ābrahāms - 4235 j [aizsargāts ar e-pastu] 01590078452
Mir Sabbir - 2756 [aizsargāts ar e-pastu] 01189523978

4. piemērs: Izdrukājiet faila pirmo kolonnu, neizmantojot lauku atdalītāju

Ja komandā 'awk' netiek izmantots lauku atdalītājs, par noklusējuma lauku atdalītāju tiek izmantota atstarpe. Šāda komanda “awk” izdrukās pirmo kolonnu, izmantojot noklusējuma atdalītāju.

$ kaķu klienti.txt
$ awk 'print $ 1' klienti.txt

Pēc iepriekš minēto komandu izpildes tiks izveidota šāda izeja. Ņemiet vērā, ka izvadē tiek parādīts tikai klienta vārds, jo atstarpe tiek lietota kā lauku atdalītājs. Šīs problēmas risinājums ir parādīts nākamajā piemērā.

5. piemērs: Izdrukājiet faila pirmo kolonnu ar atdalītāju

Šeit \ t tiek izmantots kā lauku atdalītājs, lai izdrukātu faila pirmo kolonnu. Opciju '-F' izmanto, lai iestatītu lauka atdalītāju.

$ kaķu klienti.txt
$ awk -F '\ t' 'print $ 1' klienti.txt

Pēc iepriekš minēto komandu izpildes tiks izveidota šāda izeja. Faila saturs ir sadalīts trīs kolonnās, pamatojoties uz \ t. Tāpēc klienta vārds un ID tiek drukāts kā pirmā kolonna. Ja vēlaties izdrukāt klienta vārdu bez id, turpiniet nākamo piemēru.


Ja vēlaties izdrukāt klienta vārdu bez id, tad kā lauka atdalītājs jāizmanto “-”. Šāda komanda “awk” klienta vārdu drukās tikai kā pirmo kolonnu.

$ kaķu klienti.txt
$ awk -F '-' 'print $ 1' klienti.txt

Pēc iepriekš minēto komandu izpildes tiks izveidota šāda izeja. Izejā ir iekļauti pilni klientu vārdi bez viņu ID.

6. piemērs: izdrukājiet faila pēdējo kolonnu

Ar šādu komandu “awk” tiks izdrukāta pēdējā klientu kolonna.txt. Tā kā komandā netiek izmantots lauka atdalītājs, atstarpe tiks izmantota kā lauka atdalītājs.

$ kaķu klienti.txt
$ awk 'print $ NF' klienti.txt

Pēc iepriekš minēto komandu izpildes tiks izveidota šāda izeja. Pēdējā kolonnā ir tālruņu numuri, kā parādīts izvadē.

7. piemērs: izdrukājiet faila pirmo un pēdējo kolonnu

Šī komanda “awk” izdrukās klientu pirmo un pēdējo kolonnu.txt. Šeit cilni (\ t) izmanto kā lauku atdalītāju, lai saturu sadalītu kolonnās. Šeit cilni (\ t) izmanto kā izvades atdalītāju.

$ kaķu klienti.txt
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' klienti.txt

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja. Saturs ir sadalīts trīs kolonnās ar \ t; pirmajā kolonnā ir norādīts klienta vārds un ID, bet otrajā - tālruņa numurs. Pirmā un pēdējā kolonna tiek izdrukāta, izmantojot atdalītāju \ t.

Secinājums

Komandu 'awk' var izmantot dažādos veidos, lai iegūtu pirmo kolonnu un / vai pēdējo kolonnu no jebkuras komandas izejas vai no tabulas datiem. Ir svarīgi atzīmēt, ka komandā ir nepieciešams lauka atdalītājs, un, ja tāds nav paredzēts, tiek izmantota vieta.

Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...
Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...
10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...