Awk

Ensimmäisen tai viimeisen sarakkeen tai molempien tulostaminen 'awk' -toiminnolla

Ensimmäisen tai viimeisen sarakkeen tai molempien tulostaminen 'awk' -toiminnolla

Linuxin 'awk' -komento on tehokas apuohjelma erilaisille tekstitiedostojen toiminnoille, kuten haku, korvaaminen ja tulostaminen. Sitä on helppo käyttää taulukkotietojen kanssa, koska se jakaa jokaisen rivin automaattisesti kenttiin tai sarakkeisiin kenttäerottimen perusteella. Kun työskentelet tekstitiedoston kanssa, joka sisältää taulukkotietoja ja haluat tulostaa tietyn sarakkeen tiedot, 'awk' -komento on paras vaihtoehto. Tässä opetusohjelmassa näytämme, kuinka rivin tai tekstitiedoston ensimmäinen ja / tai viimeinen sarake tulostetaan.

Tulosta komentolähdön ensimmäinen sarake ja / tai viimeinen sarake

Monet Linux-komennot, kuten 'ls' -komento, tuottavat taulukkolähtöjä. Tässä näytetään, kuinka ensimmäinen ja / tai viimeinen sarake tulostetaan 'ls -l' -komennon tulosteesta.

Esimerkki 1: Tulosta komentolähdön ensimmäinen sarake

Seuraava 'awk' -komento tulostaa ensimmäisen sarakkeen komennon 'ls -l' lähdöstä.

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

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Esimerkki 2: Tulosta komentolähdön viimeinen sarake

Seuraava 'awk' -komento tulostaa viimeisen sarakkeen 'ls -l' -komennon lähdöstä.

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

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Esimerkki 3: Tulosta komentolähdön ensimmäinen ja viimeinen sarake

Seuraava 'awk' -komento tulostaa ensimmäisen ja viimeisen sarakkeen 'ls -l' -komennon lähdöstä.

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

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen.

Tulosta tekstitiedoston ensimmäinen ja / tai viimeinen sarake

Tässä näytämme, kuinka voit käyttää 'awk' -komentoa tekstitiedoston ensimmäisen ja / tai viimeisen sarakkeen tulostamiseen.

Luo tekstitiedosto

Luo tämän opetusohjelman seuraamiseksi luomalla tekstitiedosto nimeltä Asiakkaat.txt jonka sisältö on seuraava. Tiedosto sisältää kolmen tyyppisiä asiakastietoja: nimi ja tunnus, sähköpostiosoite ja puhelinnumero. Sarkainmerkkiä (\ t) käytetään näiden arvojen erottamiseen.

Nimi Sähköposti Puhelin
Jonathon Bing - 1001 [sähköposti suojattu] 01967456323
Micheal Jackson - 2006 [sähköposti suojattu] 01756235643
Janifer Lopez - 3029 [sähköposti suojattu] 01822347865
John Abraham - 4235 j [sähköposti suojattu] 01590078452
Mir Sabbir - 2756 [sähköposti suojattu] 01189523978

Esimerkki 4: Tulosta tiedoston ensimmäinen sarake käyttämättä kentän erotinta

Jos 'awk' -komennossa ei käytetä kentänerotinta, oletuskentän erottimena käytetään välilyöntiä. Seuraava 'awk' -komento tulostaa ensimmäisen sarakkeen käyttämällä oletuserotinta.

$ kissa-asiakkaita.txt
$ awk 'print $ 1' asiakkaita.txt

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen. Huomaa, että lähtö näyttää vain asiakkaan etunimen, koska välilyöntiä käytetään kentän erottimena. Ratkaisu tähän ongelmaan on esitetty seuraavassa esimerkissä.

Esimerkki 5: Tulosta tiedoston ensimmäinen sarake erottimella

Täällä \ t käytetään kentän erottimena tiedoston ensimmäisen sarakkeen tulostamiseen. '-F' -asetusta käytetään kentän erottimen asettamiseen.

$ kissa-asiakkaita.txt
$ awk -F '\ t' 'print $ 1' asiakkaita.txt

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen. Tiedoston sisältö on jaettu kolmeen sarakkeeseen \ t perusteella. Siksi asiakkaan nimi ja tunnus tulostetaan ensimmäisenä sarakkeena. Jos haluat tulostaa asiakkaan nimen ilman tunnusta, jatka seuraavaan esimerkkiin.


Jos haluat tulostaa asiakkaan nimen ilman tunnusta, sinun on käytettävä '-' kenttäerottimena. Seuraava 'awk' -komento tulostaa asiakkaan nimen vain ensimmäiseksi sarakkeeksi.

$ kissa-asiakkaita.txt
$ awk -F '-' 'print $ 1' asiakkaita.txt

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen. Tulos sisältää asiakkaiden täydelliset nimet ilman heidän tunnuksiaan.

Esimerkki 6: Tulosta tiedoston viimeinen sarake

Seuraava 'awk' -komento tulostaa asiakkaiden viimeisen sarakkeen.txt. Koska komennossa ei käytetä kentänerotinta, tilaa käytetään kentänerottimena.

$ kissa-asiakkaita.txt
$ awk 'print $ NF -asiakkaat.txt

Seuraava lähtö tuotetaan yllä olevien komentojen suorittamisen jälkeen. Viimeinen sarake sisältää puhelinnumerot, kuten tulostuksessa on esitetty.

Esimerkki 7: Tulosta tiedoston ensimmäinen ja viimeinen sarake

Seuraava 'awk' -komento tulostaa asiakkaiden ensimmäisen ja viimeisen sarakkeen.txt. Tässä sarkainta (\ t) käytetään kentän erottimena sisällön jakamiseksi sarakkeiksi. Tässä sarkainta (\ t) käytetään erottimena lähdössä.

$ kissa-asiakkaita.txt
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' asiakkaita.txt

Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen. Sisältö on jaettu kolmeen sarakkeeseen \ t; ensimmäisessä sarakkeessa on asiakkaan nimi ja tunnus ja toisessa sarakkeessa puhelinnumero. Ensimmäinen ja viimeinen sarake tulostetaan käyttämällä erottimena \ t.

Johtopäätös

'Awk' -komentoa voidaan käyttää eri tavoin saadaksesi ensimmäisen sarakkeen ja / tai viimeisen sarakkeen mistä tahansa komentolähdöstä tai taulukkotiedoista. On tärkeää huomata, että komennossa vaaditaan kentän erotinta, ja jos sitä ei anneta, tilaa käytetään.

Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...
Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...
Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...