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 PuhelinJonathon 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.
$ 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.