Awk

Välilehdillä erotetun tiedoston jäsentäminen 'awk' -toiminnolla

Välilehdillä erotetun tiedoston jäsentäminen 'awk' -toiminnolla

'sarkainta' käytetään erottimena sarkaimilla erotetussa tiedostossa. Tämän tyyppinen tekstitiedosto on luotu tallentamaan erityyppisiä tekstitietoja jäsennetyssä muodossa.  Linuxissa on erityyppisiä komentoja tämän tyyppisen tiedoston jäsentämiseksi.  'awk' -komento on yksi tapa jäsentää sarkaimilla erotettua tiedostoa eri tavoin. Tässä opetusohjelmassa on esitetty 'awk' -komennon käyttäminen sarkaimilla erotetun tiedoston lukemiseen.

Luo sarkaimilla erotettu tiedosto:

Luo tekstitiedosto nimeltä käyttäjille.txt seuraavalla sisällöllä testataksesi tämän opetusohjelman komennot. Tämä tiedosto sisältää käyttäjän nimen, sähköpostiosoitteen, käyttäjänimen ja salasanan.

käyttäjille.txt

Nimi Sähköposti Käyttäjätunnus Salasana
Md. Robin [sähköpostin suojattu] robin89 563425
Nila Hasan [sähköposti suojattu] nila78 245667
Mirza Abbas [sähköpostitse suojattu] mirza23 534788
Aornob Hasan [sähköposti suojattu] arnob45 778473
Nuhas Ahsan [sähköposti suojattu] nuhas34 563452

Esimerkki 1: Tulosta sarkaimilla erotetun tiedoston toinen sarake käyttämällä -F-vaihtoehtoa

Seuraava 'sed' -komento tulostaa sarkaimilla erotetun tekstitiedoston toisen sarakkeen. Tässä '-F' Vaihtoehtoa käytetään määrittämään tiedoston kenttäerotin.

$ kissan käyttäjät.txt
$ awk -F '\ t' 'print $ 2' käyttäjät.txt

Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen. Tiedoston toinen sarake sisältää käyttäjän sähköpostiosoitteet, jotka näytetään tulostuksena.

Esimerkki 2: Tulosta sarkaimilla erotetun tiedoston ensimmäinen sarake käyttämällä FS-muuttujaa

Seuraava 'sed' -komento tulostaa sarkaimilla erotetun tekstitiedoston ensimmäisen sarakkeen. Tässä, FS (Field Separator) -muuttujaa käytetään määrittämään tiedoston kenttäerotin.

$ kissan käyttäjät.txt
$ awk 'print $ 1' FS = '\ t' käyttäjät.txt

Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen. Tiedoston ensimmäinen sarake sisältää käyttäjän nimet, jotka näytetään tulosteena.

Esimerkki 3: Tulosta sarkaimilla erotetun tiedoston kolmas sarake muotoilemalla

Seuraava 'sed' -komento tulostaa sarkaimella erotetun tekstitiedoston kolmannen sarakkeen muotoilemalla FS muuttuja ja printf. Tässä FS muuttujaa käytetään määrittämään tiedoston kenttäerotin.

$ kissan käyttäjät.txt
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' käyttäjää.txt

Seuraava tulos tulee näkyviin komentojen suorittamisen jälkeen. Tiedoston kolmas sarake sisältää käyttäjänimen, joka on tulostettu tähän.

Esimerkki 4: Tulosta sarkaimilla erotetun tiedoston kolmas ja neljäs sarake OFS: n avulla

OFS: ää (Output Field Separator) käytetään lisäämään kentän erotin lähtöön. Seuraava 'awk' -komento jakaa tiedoston sisällön sarkaimen (\ t) erottimen perusteella ja tulostaa kolmannen ja neljännen sarakkeen käyttämällä sarkainta (\ t) erottimena.

$ kissan käyttäjät.txt
$ awk -F "\ t" 'OFS = "\ t" tulosta $ 3, $ 4> ("ulostulo.txt ") 'käyttäjille.txt
$ kissan tuotos.txt

Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen. Kolmas ja neljäs sarake sisältävät käyttäjänimen ja salasanan, jotka on tulostettu tähän.

Esimerkki 5: Korvaa sarkaimilla erotetun tiedoston tietty sisältö

sub () -funktiota käytetään 'awk: ssä komentamaan korvaamista. Seuraava 'awk' -komento etsii numeroa 45 ja korvaa sen numerolla 90, jos hakunumero on tiedostossa. Korvauksen jälkeen tiedoston sisältö tallennetaan tulosteeseen.txt-tiedosto.

$ kissan käyttäjät.txt
$ awk -F "\ t" 'sub (/ 45 /, 90); print' käyttäjät.txt> lähtö.txt
$ kissan tuotos.txt

Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen. Tuotos.txt-tiedosto näyttää muokatun sisällön korvaamisen jälkeen. Tässä viidennen rivin sisältö on muuttunut, ja 'arnob45' muutetaan arvoksi 'arnob90'.

Esimerkki 6: Lisää merkkijono sarkaimilla erotetun tiedoston jokaisen rivin alkuun

Seuraavassa 'awk' -komentoa '-F' -vaihtoehtoa käytetään jakamaan tiedoston sisältö välilehden perusteella (\ t). OFS on lisännyt pilkun (,) kentän erottimeksi lähtöön. sub () -funktiota käytetään lisäämään merkkijono '- →' lähdön jokaisen rivin alkuun.

$ kissan käyttäjät.txt
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); tulosta $ 1, $ 2, $ 3' käyttäjät.txt

Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen. Jokainen kentän arvo erotetaan pilkulla (,) ja jokaisen rivin alkuun lisätään merkkijono.

Esimerkki 7: Korvaa sarkaimilla erotetun tiedoston arvo gsub () -toiminnon avulla

gsub () -funktiota käytetään awk-komennossa globaaliin korvaamiseen. Kaikki tiedoston merkkijonoarvot korvaavat hakukuvion kohdat. Suurin ero sub () - ja gsub () -funktioiden välillä on se, että sub () -funktio lopettaa korvaustehtävän ensimmäisen vastaavuuden löytämisen jälkeen, ja gsub () -funktio etsii tiedoston lopussa olevaa mallia korvaamista varten. Seuraava 'awk' -komento etsii tiedostosta sanoja 'nila' ja 'Mira' ja korvaa kaikki esiintymät tekstillä 'Virheellinen nimi', jossa hakusana täsmää.

$ kissan käyttäjät.txt
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Virheellinen nimi"); tulosta käyttäjät.txt

Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen. Sana 'nila' on kaksi kertaa tiedoston kolmannella rivillä, joka on korvattu sanalla 'virheellinen nimi' lähdössä.

Esimerkki 8: Tulosta muotoiltu sisältö sarkaimilla erotetusta tiedostosta

Seuraava 'awk' -komento tulostaa tiedoston ensimmäisen ja toisen sarakkeen muotoilemalla printf: n avulla. Lähdössä näkyy käyttäjän nimi liittämällä sähköpostiosoite sulkeisiin.

$ kissan käyttäjät.txt
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' käyttäjää.txt

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

Johtopäätös

Kaikki sarkaimilla erotetut tiedostot voidaan helposti jäsentää ja tulostaa toisella erottimella käyttämällä awk-komentoa. Tässä opetusohjelmassa on esitetty tapoja jäsentää sarkaimilla erotettuja tiedostoja ja tulostaa eri muodoissa käyttämällä useita esimerkkejä. Sub-optioiden ja gsub () -toimintojen käyttäminen awk-komennossa sarkaimilla erotetun tiedoston sisällön korvaamiseksi selitetään myös tässä opetusohjelmassa. Toivon, että tämä opetusohjelma auttaa lukijoita jäsentämään sarkaimilla erotettua tiedostoa helposti harjoiteltuaan tämän opetusohjelman esimerkkejä.

AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...