Tehtävä 3.2 Komentorivityökaluja GREP,SED & AWK
Tehtävä 3.2 Komentorivityökaluja GREP,SED & AWK
1. Grep
A)
[0-9]{6}.[0-9A-Z]{3}[0-9A-Za-z]{1}
B)
[A-Za-z].+@[A-Za-z]+.[A-Za-z]{2,3}
C)
((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
Tämä ottaa huomioon ei rangella olevat IP:t kuten 256.256.256.256
D)
egrep "lääkäri|poliisi|asianajaja" pg14152.txt
E)
egrep -w "Tohtori Jekyll" pg14152.txt | wc -w
wc -w komento chekkaamassa meneekö oikein ja tietysti tässä esimerkissä otin vain huomioon "Tohtori Jekyll" enkä "tohtori jekyll" tai muita variaatioita.
F)
egrep -wn "elämä|kuolema|ei" pg14152.txt
2. AWK
A)
awk -F ";" 'NR>1{print $1 " " $4 }' data.csv | awk -F " " '{print $1 " " "("$4")" }'
B)
awk -F ";" 'NR>1{print $3 "\t" $1 "\t" $2 }' data.csv | sort
Sorttaamisen tekee helpoksi kun maa on ensimmäisenä.
D)
awk -F, '{kylla+=$2}{ei+=$3}{kaikki=kylla+ei} END{print "Kyllä vastauksia " kylla " kpl eli "kylla/kaikki*100 " prosenttia ja ei vastauksia " ei " kpl eli " ei/kaikki*100 " prosenttia."}' tulokset.csv
E)
Ensiksi tallentaa sivuston nimipaiva.html muotoon koneelle ja sen jälkeen etsii grepillä rivin ja karsii siitä turhat pois awkilla.
awk '/Tänään/' nimipaiva.html | awk -F "<br/>" '{print $2 $3 $4 $5}'
3. SED
A) sed s/lääkäri/puoskari/ pg14152.txt | egrep puoskari
B) sed /maailma/d pg14152.txt
C) sed "s/[^ ]*/\ kikkara \ kakkara \ motti /g" pg14152.txt
D) sed 's/Enfield/"&"/g' pg14152.txt | egrep "Enfield"
4. Tekstitiedostojen manipulointia
A) paste nimet.txt osoitteet.txt numerot.txt > yhdistetty.txt
B) Pg14152.txt tiedostossa on 3381 riviä, jotka jaetaan split komennon oletuksena 1000 rivin tiedostoihin eli tulee 4 tiedostoa joissa on rivejä 1000,100,1000 ja 381.
C) split -l 500 pg14152.txt
Joutuu käyttämään -l - valitsinta.
D) sed '200,300d' pg14152.txt | wc -l
Comments
Post a Comment