- CS-A0100
- 3. Lopuksi
- 3.4 Muistilista
Muistilista¶
Tässä luvussa on koottuna keskeiset moduulissa vastaan tulleet komennot ja käsitteet, joista on hyötyä etenkin tekstimuotoisen datan käsittelyssä.
Putket ja uudelleenohjailu¶
Komennot yleensä lukevat syötteen näppäimistöltä ja tulostavat ruudulle, mutta merkeillä <
, >
ja |
syötettä ja tulostetta voi ohjata muualle:
komento < tiedosto.txt
= komennon syöte tulee tiedostostakomento > tiedosto.txt
= komennon tuloste ohjataan tiedostoonkomento1 | komento2
= komennon tuloste ohjataan toisen komennon syötteeksi
Putkia ja uudelleenohjauksia voi yhdistellä hyvin vapaasti tähän tapaan:
komento1 < tiedosto1.txt | komento2 | komento3 | komento4 > tiedosto4.txt
Monille komennoille voi myös antaa komentorivillä tiedoston nimen, josta syöte luetaan. Esimerkiksi nämä kaikki tekevät oleellisesti saman asian:
grep sana tiedosto.txt
grep sana < tiedosto.txt
cat tiedosto.txt | grep sana
Tekstitiedostojen tutkimista ja muokkaamista¶
cat
= tulosta tiedoston sisältöcat -n
= lisäksi numeroi rivithead -n 1000
= tulosta ensimmäiset 1000 riviätail -n 1000
= tulosta viimeiset 1000 riviäcut -c10-20
= tulosta joka riviltä pelkästään sarakkeissa 10–20 olevat merkitless
= selaile tiedostoa (space = alas,b
= ylös,q
= pois)od -t u1
= tulosta tiedoston sisältämät tavutwc -l
= laske rivien määränano
= editoi tiedostoaecho
= tuota rivin verran tekstiä (kätevä esim.echo hei > tiedosto.txt
taiecho hei | komento
)
Etsimistä ja korvaamista¶
grep hahmo
= etsi säännöllistä lauseketta, tulosta kaikki rivit, joilla on osumiagrep --color
= väritä osumatgrep -v
= tulosta rivit, joilla ei ole osumiagrep -o
= tulosta vain osumakohdat, kukin omalla rivilläängrep -i
= älä välitä isojen ja pienten kirjainten erostased 's#hahmo#korvaus#'
= etsi ja korvaa joka rivin ensimmäinen esiintymäsed 's#hahmo#korvaus#g'
= etsi ja korvaa kaikki esiintymätsed 's#hahmo#korvaus#I'
= älä välitä isojen ja pienten kirjainten erostaawk '{ print tolower($0) }'
= muunna pieniksi kirjaimiksi
Säännöllisissä lausekkeissa voi käyttää mm. näitä:
^
= rivin alku$
= rivin loppu\<
= sanan alki\>
= sanan loppu.
= mikä tahansa merkki[abc]
= jokin merkeistä "a", "b" ja "c"[a-z]
= jokin merkeistä "a", "b", …, "z"[^abc]
= mikä tahansa merkki paitsi "a", "b" ja "c"[[:alpha:]]
= mikä tahansa kirjainx*
= mikä tahansa määrä merkkejä x.*
= mikä tahansa määrä mitä tahansa merkkejä
Pientä huolellisuutta vaaditaan; eri työkalut tukevat hiukan eri murteita säännöllisistä lausekkeista. Esimerkiksi joissain työkaluissa toimii x+
tarkoittamassa yhtä tai useampaa merkkiä x
, kun taas joissain työkaluissa tämä tarkoittaa vain merkkijonoa "x+" (kirjain x ja plus-merkki).
Sorttailua ja laskemista¶
sort
= järjestä rivit aakkosjärjestykseensort -n
= järjestä rivit niiden alussa olevien numeroiden perusteellasort -r
= käänteinen järjestysuniq
= jos monta peräkkäistä samaa riviä, säilytä niistä vain ensimmäinenuniq -c
= lisäksi laske kuinka monta kertaa sama rivi toistui
Hakemistojen käsittelyä¶
cd
= siirry hakemistoonmkdir
= luo hakemistols -l
= yksityiskohtainen hakemistolistausdf -h .
= vapaan levytilan määrä
Muuta hyödyllistä¶
chmod +x
= tee skriptistä ajokelpoinenwget
= hae tiedosto webistäbunzip2
= purabzip2
-muodossa oleva pakattu tiedostogunzip
= puragzip
-muodossa oleva pakattu tiedostolocale
= näytä maa-asetukset (tärkein:LC_CTYPE
)export MUUTTUJA=arvo
= aseta ympäristömuuttujia~/.profile
= tiedosto, jossa ympäristömuuttujat yleensä asetetaantime komento
= mittaa ajoaikascreen
= luo uusi screen-istuntoscreen -r
= palaa takaisin aiemmin luotuun screen-istuntoontop
= prosessilista (poistu komennollaq
)