Awk kommandoen

Målet er å gå gjennom hvordan vi kan bruke awk kommandoen for å hente ut informasjon.

Data

Kolonseparert fil med en del norske statministre.

Frederik Stang,1873,1880
Christian Selmer,1880,1884
Christian Schweigaard,1884,1884
Johan Sverdrup,1884,1889
Emil Stang d.e.,1889,1891
Johannes Steen,1891,1893
Emil Stang d.e.,1893,1895
Francis Hagerup,1895,1898
Johannes Steen,1898,1902
Otto Blehr,1902,1903
Francis Hagerup,1903,1905
Christian Michelsen,1905,1907
Jørgen Løvland,1907,1908
Gunnar Knudsen,1908,1910
Wollert Konow,1910,1912
Jens Bratlie,1912,1913
Gunnar Knudsen,1913,1920
Otto B. Halvorsen,1920,1921

 

1#

Mål: Hente ut alle linjer som inneholder Christian.

Kommando

awk '/Christian/' <Filnavn>

Resultat

Christian Selmer,1880,1884
Christian Schweigaard,1884,1884
Christian Michelsen,1905,1907

 

#2

Mål: Hente ut alle linjer som inneholder Christian, men ikke Michelsen.

Kommando

awk '/Christian/ && !(/Michelsen/)' <Filnavn>

Resultat

Christian Selmer,1880,1884
Christian Schweigaard,1884,1884

 

#3

Mål: Hente ut alle linjer som inneholder Christian eller Otto.

Kommando

awk '/Christian/ || /Otto/' <Filnavn>

Resultat

Christian Selmer,1880,1884
Christian Schweigaard,1884,1884
Otto Blehr,1902,1903
Christian Michelsen,1905,1907
Otto B. Halvorsen,1920,1921

 

#4

Mål: Hente ut bare navn.

Kommando

awk -F ',' ' {print $1}' <Filnavn>

Resultat

Frederik Stang
Christian Selmer
Christian Schweigaard
Johan Sverdrup
Emil Stang d.e.
Johannes Steen
Emil Stang d.e.
Francis Hagerup
Johannes Steen
Otto Blehr
Francis Hagerup
Christian Michelsen
Jørgen Løvland
Gunnar Knudsen
Wollert Konow
Jens Bratlie
Gunnar Knudsen
Otto B. Halvorsen

 

#5

Mål: Hente ut alle statsministre som ble statsminister før 1900.

Kommando

awk -F ',' '$2 < 1900 {print $1}' <Filnavn>

Resultat

Frederik Stang
Christian Selmer
Christian Schweigaard
Johan Sverdrup
Emil Stang d.e.
Johannes Steen
Emil Stang d.e.
Francis Hagerup
Johannes Steen

 

#6

Mål: Hente ut antall som ble statsminister mellom 1900 og 1910.

Kommando

awk -F ',' '($2 > 1900 && $2 < 1910){count++} END {print count}' <Filnavn>

Resultat

5

 

#7

Mål: Hente ut statsministeren etter Christian Michelsen.

Kommando

awk -F , '/Christian Michelsen/ {getline; print $1}' <Filnavn>

Resultat

Jørgen Løvland