Ärme

Esimese veeru või viimase veeru või mõlema printimine 'awk' abil

Esimese veeru või viimase veeru või mõlema printimine 'awk' abil

Linuxi käsk awk on võimas utiliit tekstifailide erinevate toimingute jaoks, näiteks otsimiseks, asendamiseks ja printimiseks. Tabeliandmetega on seda lihtne kasutada, sest see jagab iga rea ​​automaatselt väljade eraldaja põhjal väljadeks või veergudeks. Kui töötate tabeliandmeid sisaldava tekstifailiga ja soovite printida konkreetse veeru andmed, on parim variant käsk 'awk'. Selles õpetuses näitame teile, kuidas printida rea ​​või tekstifaili esimene veerg ja / või viimane veerg.

Trükkige käsu väljundi esimene ja / või viimane veerg

Paljud Linuxi käsud, näiteks käsk 'ls, genereerivad tabeliväljundeid. Siin näitame teile, kuidas printida esimene veerg ja / või viimane veerg käsu 'ls -l' väljundist.

Näide 1: printige käsu väljundi esimene veerg

Järgmine käsk 'awk' prindib esimese veeru käsu 'ls -l' väljundist.

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

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Näide 2: printige käsu väljundi viimane veerg

Järgmine käsk 'awk' prindib käsu 'ls -l' väljundist viimase veeru.

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

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Näide 3: printige käsu väljundi esimene ja viimane veerg

Järgmine käsk 'awk' printib käsu 'ls -l' väljundist esimese ja viimase veeru.

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

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund.

Trükkige tekstifaili esimene ja / või viimane veerg

Siin näitame teile, kuidas kasutada käsku 'awk' tekstifaili esimese ja / või viimase veeru printimiseks.

Looge tekstifail

Selle õpetuse järgimiseks looge nimega tekstifail klientidele.txt järgmise sisuga. Fail sisaldab kolme tüüpi kliendiandmeid: nimi koos ID-ga, e-posti aadress ja telefoninumber. Nende väärtuste eraldamiseks kasutatakse vahelehemärki (\ t).

Nimi E-posti telefon
Jonathon Bing - 1001 [meiliga kaitstud] 01967456323
Micheal Jackson - 2006 [meiliga kaitstud] 01756235643
Janifer Lopez - 3029 [meiliga kaitstud] 01822347865
John Abraham - 4235 j [meiliga kaitstud] 01590078452
Mir Sabbir - 2756 [meiliga kaitstud] 01189523978

Näide 4: printige faili esimene veerg ilma eraldajat kasutamata

Kui käsus 'awk' ei kasutata ühtegi välja eraldajat, kasutatakse vaikevälja eraldajana tühikut. Järgmine käsk 'awk' printib esimese veeru vaikeraldaja abil.

$ kassi kliendid.txt
$ awk 'print $ 1' kliendid.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund. Pange tähele, et väljundis kuvatakse ainult kliendi eesnimi, kuna väli eraldajana kasutatakse tühikut. Selle probleemi lahendus on toodud järgmises näites.

Näide 5: printige eraldaja abil faili esimene veerg

Siin kasutatakse \ t välja eraldajana faili esimese veeru printimiseks. Välja eraldaja määramiseks kasutatakse valikut '-F'.

$ kassi kliendid.txt
$ awk -F '\ t' 'print $ 1' kliente.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund. Faili sisu on jaotatud \ t põhjal kolme veergu. Seetõttu trükitakse esimese veeruna kliendi nimi ja ID. Kui soovite printida kliendi nime ilma ID-ta, jätkake järgmise näite juurde.


Kui soovite printida kliendi nime ilma id-ta, peate välja eraldajana kasutama tähte "-". Järgmine käsk 'awk' prindib kliendi nime ainult esimese veeruna.

$ kassi kliendid.txt
$ awk -F '-' 'print $ 1' kliendid.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund. Väljund sisaldab klientide täisnimesid ilma nende ID-deta.

Näide 6: printige faili viimane veerg

Järgmine käsk awk prindib klientide viimase veeru.txt. Kuna käsus ei kasutata ühtegi välja eraldajat, kasutatakse ruumi eraldajana tühikut.

$ kassi kliendid.txt
$ awk 'print $ NF' kliendid.txt

Pärast ülaltoodud käskude käivitamist luuakse järgmine väljund. Viimane veerg sisaldab telefoninumbreid, nagu on näidatud väljundis.

Näide 7: printige faili esimene ja viimane veerg

Järgmine käsk 'awk' printib klientide esimese ja viimase veeru.txt. Siin kasutatakse vahekaarti (\ t) välja eraldajana sisu veergudeks jagamiseks. Siin kasutatakse väljundi eraldajana vahelehte (\ t).

$ kassi kliendid.txt
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' kliente.txt

Pärast ülaltoodud käskude käivitamist ilmub järgmine väljund. Sisu on jaotatud kolme veergu \ t; esimeses veerus on kliendi nimi ja ID ning teises veerus telefoninumber. Esimene ja viimane veerg prinditakse, kasutades eraldajana \ t.

Järeldus

Esimese veeru ja / või viimase veeru saamiseks mis tahes käsu väljundist või tabeliandmetest saab käsku 'awk' rakendada mitmel viisil. Oluline on märkida, et käsus on nõutav välja eraldaja ja kui seda pole, kasutatakse ruumi.

Kuidas muuta hiire ja puuteplaatide kerimise suund Windows 10-s ümber
Hiir ja PuuteplaatNeed muudavad arvutamise mitte ainult lihtsaks, vaid ka tõhusamaks ja vähem aeganõudvaks. Me ei kujuta ette elu ilma nende seadmetet...
Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...
Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...