Awk

Kako natisniti prvi stolpec ali zadnji stolpec ali oboje s pomočjo 'awk'

Kako natisniti prvi stolpec ali zadnji stolpec ali oboje s pomočjo 'awk'

Ukaz Linux awk je zmogljiv pripomoček za različne operacije z besedilnimi datotekami, kot so iskanje, zamenjava in tiskanje. Enostaven je za uporabo s tabelarnimi podatki, saj samodejno deli vsako vrstico na polja ali stolpce na podlagi ločila polja. Ko delate z besedilno datoteko, ki vsebuje tabelarne podatke, in želite natisniti podatke določenega stolpca, je najboljša možnost ukaz 'awk'. V tej vadnici vam bomo pokazali, kako natisnete prvi stolpec in / ali zadnji stolpec vrstice ali besedilne datoteke.

Natisnite prvi stolpec in / ali zadnji stolpec izhoda ukaza

Številni ukazi Linuxa, kot je ukaz 'ls', generirajo tabelarne izhode. Tukaj vam bomo pokazali, kako natisniti prvi stolpec in / ali zadnji stolpec iz izhoda ukaza 'ls -l'.

Primer 1: Natisnite prvi stolpec izhoda ukaza

Naslednji ukaz 'awk' bo natisnil prvi stolpec iz izhoda ukaza 'ls -l'.

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

Naslednji izhod bo prikazan po zagonu zgornjih ukazov.

Primer 2: Natisnite zadnji stolpec izhoda ukaza

Naslednji ukaz 'awk' bo natisnil zadnji stolpec iz izhoda ukaza 'ls -l'.

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

Naslednji izhod bo prikazan po zagonu zgornjih ukazov.

3. primer: Natisnite prvi in ​​zadnji stolpec izhoda ukaza

Naslednji ukaz 'awk' bo natisnil prvi in ​​zadnji stolpec iz izhoda ukaza 'ls -l'.

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

Naslednji izhod bo prikazan po zagonu zgornjih ukazov.

Natisnite prvi stolpec in / ali zadnji stolpec besedilne datoteke

Tukaj vam bomo pokazali, kako z ukazom 'awk' natisnete prvi stolpec in / ali zadnji stolpec besedilne datoteke.

Ustvarite besedilno datoteko

Če želite nadaljevati s to vadnico, ustvarite besedilno datoteko z imenom stranke.txt z naslednjo vsebino. Datoteka vsebuje tri vrste podatkov o strankah: ime z ID-jem, e-poštni naslov in telefonsko številko. Znak zavihka (\ t) se uporablja za ločevanje teh vrednosti.

Ime E-pošta Telefon
Jonathon Bing - 1001 [e-pošta zaščitena] 01967456323
Micheal Jackson - 2006 [e-pošta zaščitena] 01756235643
Janifer Lopez - 3029 [e-pošta zaščitena] 01822347865
John Abraham - 4235 j [e-pošta zaščitena] 01590078452
Mir Sabbir - 2756 [e-pošta zaščitena] 01189523978

4. primer: Natisnite prvi stolpec datoteke, ne da bi uporabili ločilo za polja

Če v ukazu 'awk' ni uporabljen ločilnik polja, se kot privzeti ločevalnik polja uporabi presledek. Naslednji ukaz 'awk' bo natisnil prvi stolpec z uporabo privzetega ločila.

$ mačjih strank.txt
Stranke $ awk 'print $ 1'.txt

Naslednji izhod bo prikazan po zagonu zgornjih ukazov. Upoštevajte, da izhod prikazuje samo ime stranke, ker je presledek uporabljen kot ločilo polja. Rešitev te težave je prikazana v naslednjem primeru.

Primer 5: Natisnite prvi stolpec datoteke z ločilom

Tu se \ t uporablja kot ločilo polj za tiskanje prvega stolpca datoteke. Možnost '-F' se uporablja za nastavitev ločila polja.

$ mačjih strank.txt
$ awk -F '\ t' 'print $ 1' stranke.txt

Naslednji izhod bo prikazan po zagonu zgornjih ukazov. Vsebina datoteke je razdeljena v tri stolpce glede na \ t. Zato sta ime in ID stranke natisnjena kot prvi stolpec. Če želite natisniti ime stranke brez ID-ja, nadaljujte na naslednji primer.


Če želite natisniti ime stranke brez ID-ja, morate kot ločilo polja uporabiti '-'. Naslednji ukaz 'awk' bo ime stranke natisnil samo kot prvi stolpec.

$ mačjih strank.txt
$ awk -F '-' 'print $ 1' stranke.txt

Naslednji izhod bo prikazan po zagonu zgornjih ukazov. Rezultat vključuje polna imena strank brez njihovih ID-jev.

Primer 6: Natisnite zadnji stolpec datoteke

Naslednji ukaz 'awk' bo natisnil zadnji stolpec strank.txt. Ker se v ukazu ne uporablja ločilo polj, bo presledek uporabljen kot ločilo polja.

$ mačjih strank.txt
Stranke $ awk 'print $ NF'.txt

Naslednji izhod bo prikazan po zagonu zgornjih ukazov. Zadnji stolpec vsebuje telefonske številke, kot je prikazano v izhodu.

7. primer: Natisnite prvi in ​​zadnji stolpec datoteke

Naslednji ukaz 'awk' bo natisnil prvi in ​​zadnji stolpec strank.txt. Tu se jeziček (\ t) uporablja kot ločilo polj za razdelitev vsebine na stolpce. Tu se jeziček (\ t) uporablja kot ločilo za izhod.

$ mačjih strank.txt
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' stranke.txt

Po zagonu zgornjih ukazov se prikaže naslednji izhod. Vsebina je razdeljena v tri stolpce z \ t; prvi stolpec vsebuje ime in ID stranke, drugi stolpec pa telefonsko številko. Prvi in ​​zadnji stolpec se natisneta z uporabo \ t kot ločila.

Zaključek

Ukaz 'awk' je mogoče uporabiti na različne načine, da dobite prvi stolpec in / ali zadnji stolpec iz katerega koli izhoda ukaza ali iz tabelarnih podatkov. Pomembno je vedeti, da je v ukazu obvezen ločevalnik polj, in če ta ni na voljo, se uporabi prostor.

10 najboljših iger za igranje v Ubuntuju
Platforma Windows je bila ena izmed prevladujočih platform za igre na srečo zaradi velikega odstotka iger, ki se danes razvijajo za naravno podporo si...
5 najboljših arkadnih iger za Linux
Dandanes so računalniki resni stroji, ki se uporabljajo za igre na srečo. Če ne boste mogli dobiti novega visokega rezultata, boste vedeli, kaj mislim...
Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...