Awk-ko­men­nol­la voit selata tie­dos­to­ja ja suorittaa tiettyjä toi­min­to­ja. Tämän Linux-komennon juuret ulottuvat aina vuoteen 1977 asti.

Mikä on Linuxin awk-komento?

Linuxissa on skripti- ja oh­jel­moin­ti­kie­li, jolla voit tar­kas­tel­la ja muokata tie­dos­to­ja. Se tunnetaan nimellä awk, ja sen juuret ulottuvat aina vuoteen 1977 asti. Nimi on peräisin kolmen ke­hit­tä­jän nimistä: Alfred Aho, Peter Wein­ber­ger ja Brian Kernighan. Työkalua voi käyttää helposti ko­men­to­ri­vil­tä tai SSH:n (Secure Shell) kautta. Aivan kuten Linuxin grep-komentoa käy­tet­täes­sä, awk-ko­men­nol­la voi etsiä tie­dos­tois­ta tiettyjä kuvioita, ja jos muut ehdot täyttyvät, niitä voidaan muokata.

Miten awk-komento toimii?

Awk käyttää ehtojen ja käskyjen yh­dis­tel­mää. Kun komento suo­ri­te­taan, se käy tiedoston läpi rivi riviltä etsien tiettyjä ehtoja. Jos se löytää nämä ehdot jostakin rivistä, se suorittaa kyseisen rivin käskyn. Jos ehtoa ei ole mää­ri­tet­ty, käsky suo­ri­te­taan jo­kai­sel­la rivillä. Jos et anna käskyä, suo­ri­te­taan syöt­tö­ri­vil­tä löytyvä va­kio­käs­ky. Tämä tar­koit­taa, että voit käyttää Linuxin awk-komentoa tiettyjen termien tai esi­merk­kien et­si­mi­seen tie­dos­tois­ta.

Miltä awk-syntaksi näyttää?

Linuxin awk-komennon syntaksi on seuraava:

$ awk [Options] "Operation {Instructions}" [Target file]
shell

Mitä vaih­toeh­to­ja awk-ko­men­nol­la on?

Sinulla on kolme vaih­toeh­toa:

  • -F [Ero­tin­merk­ki]: Tällä vaih­toeh­dol­la voit määrittää tie­dos­to­jen välisen erottimen. Yleensä se on yksi vä­li­lyön­ti.
  • -f [Tie­dos­to­ni­mi]: Tällä vaih­toeh­dol­la voit määrittää, missä tie­dos­tos­sa awk-komento suo­ri­te­taan.
  • -v: Käytä tätä vaih­toeh­toa muuttujan li­sää­mi­seen.

Esi­merk­ke­jä awk-ko­men­nos­ta

Jotta voisit paremmin ymmärtää, miten ask-komentoa käytetään, tässä on muutama esimerkki. Tässä ta­pauk­ses­sa käytämme tiedostoa nimeltä example.txt, joka sisältää luettelon kau­pun­geis­ta, maista ja man­te­reis­ta omissa sa­rak­keis­saan. Se näyttää seu­raa­val­ta:

City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria Africa
shell

Jos haluat tulostaa koko tiedoston, sinun on käy­tet­tä­vä seuraavaa komentoa:

$ awk "{print $0}" example.txt
shell

Jos kuitenkin haluat tar­kas­tel­la vain tiettyjä sa­rak­kei­ta, voit käyttää erillistä komentoa. Tässä ta­pauk­ses­sa kyseessä ovat en­sim­mäi­nen ja kolmas sarake:

$ awk "{print $1, $3}" example.txt
shell

Tämä tuottaa seuraavan tuloksen:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Siirry pää­va­lik­koon