Kieliteknologian ATK-ympäristö Kuudes luento

Samankaltaiset tiedostot
Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Neljäs luento

Kieliteknologian ATK-ympäristö Kolmas luento

Kieliteknologian ATK-ympäristö Toinen luento

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

Unix-perusteet. Varmistaminen, tiedon pakkaaminen ja tiivistäminen

Korpusten käsittely clt131, P Luento 5

UCOT-Sovellusprojekti. Asennusohje

Asialista. CLT131: Tekstityökalut 2012, kymmenes luento. 2. frekvenssien muunnos todennäköisyyksiksi. 1. taulukkohaut

CLT131: Tekstityökalut 2012, kymmenes luento

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä.

Sisällys. Johdatus Linuxiin/Unixiin: Osa 4. Arkistointi ja pakkaus. Hakemistojen ja tiedostojen arkistointi ja pakkaus.

CLT131: Tekstityökalut 2011, toinen luento

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Metropolia Ammattikorkeakoulu

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Sormet skripteihin. 1 Mistä tässä harjoitteessa on kyse

Unix. Markus Norrena

ATK tähtitieteessä. ATK-osuuden jälkeen alkaa varsinainen tutkimusprojekti. Lisätietoa myöhemmin.

ATK tähtitieteessä. Aikataulu. Käyttöjärjestelmistä. Varoitus!

Korpusten käsittely clt131, P Luento 1

11/21/00. Sis llys. Prosessin tilat. Prosessien hallinta. Johdatus Linuxiin/UNIXiin: Osa 3

Korpusten käsittely clt131, P Luento 4

Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi

CLT131: Tekstityökalut 2010, neljäs luento

Luento 3. Timo Savola. 7. huhtikuuta 2006

Komentotulkki. Kysymyksiä

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Asialista. CLT131: Tekstityökalut 2010, neljäs luento. Lähiaikataulu. Asialista. Käytännön asiat

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Unix-kurssi, harjoitustehtävät

Komentotulkki (SHELL) C- "perhe" - csh, alkup. C shell. Komentokieli. kieltä. - tcsh - edellisen laajennettu versio

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Asialista. hippu ja.bashrc. Asialista. Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely

12. Javan toistorakenteet 12.1

811120P Diskreetit rakenteet

12. Javan toistorakenteet 12.1

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

CLT131: Tekstityökalut 2011, seitsemäs luento

Korpusten käsittely clt131, P Luento 3

Asialista. CLT131: Tekstityökalut 2011, kahdeksas luento. Merkistöistä ja kalvostoista. Asialista. Tommi A Pirinen

CLT131: Tekstityökalut 2011, kahdeksas luento

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Unix-kurssi, harjoitustehtävät

CLT131: Tekstityökalut 2010, kuudes luento

811120P Diskreetit rakenteet

CLT131: Tekstityökalut 2011, viides luento

Ehto- ja toistolauseet

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Algoritmit 1. Luento 4 Ke Timo Männikkö

2 Konekieli, aliohjelmat, keskeytykset

Ctl160 Tekstikorpusten tietojenkäsittely

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Algoritmit 2. Luento 10 To Timo Männikkö

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

Sekalaisia selvennyksiä

IT K 1 45 K ä yt t öj ä rj estelmät

PHP tehtävä 3 Atte Pekarinen TIKT13A

CLT131: Tekstityökalut 2010, toinen luento

Ohjelmoinnin perusteet Y Python

Zeon PDF Driver Trial

Python-ohjelmointi Harjoitus 5

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Unix-perusteet. Tiedosto-oikeudet

CSV - XML ohjelman käyttöohje

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

Algoritmit 2. Luento 9 Ti Timo Männikkö

Hohde Consulting 2004

xv ja mpage Sis llys Latex-ladontaohjelma Tekstin ladonta (kertausta) ym. Johdatus Linuxiin/UNIXiin: Osa 3

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

11. Javan toistorakenteet 11.1

Julkaiseminen verkossa

Ohjelmoinnin perusteet Y Python

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Johdatus ohjelmointiin

CLT131 Korpusten käsittely (3op)

Korpusten käsittely clt131, P Luento 6

Tilauspalveluun pääsee osoitteessa

OpenOffice toimisto-ohjelma

Harjoitustyö: virtuaalikone

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ohjeita. Datan lukeminen

Ohjelmointityökalu Scratch

Ohjelmoinnin perusteet Y Python

Harjoitustyön testaus. Juha Taina

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN

Ohjelmoinnin perusteet Y Python

TAMPEREEN TEKNILLINEN YLIOPISTO

CLT131: Tekstityökalut 2011, kuudes luento

Transkriptio:

Kieliteknologian ATK-ympäristö Kuudes luento Miikka Silfverberg Nykykielten laitos 11. lokakuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 1 / 13

Kuudes luento Tiedostojen ja hakemistojen pakkaaminen ja purkaminen gzip ja tar. Tiedostojen ja hakemistojen etsiminen find. Ehto- ja toistolauseet skripteissä Aritmeettiset testit ja merkkijonotestit. if... elif... else for. Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 2 / 13

Pakkaaminen ja purkaminen gzip pakkaa yksittäisiä tiedostoja. Komento $ gzip mehiläisten elämä.txt lyhyitä kertomuksia.txt luo kaksi pakattua tiedostoa mehiläisten elämä.txt.gz ja lyhyitä kertomuksia.txt.gz. mehiläisten elämä.txt pakkautuu alkuperäisestä 400 kilotavusta 150 kilotavuun gzipillä. Paketin saa purettua käskyllä gunzip $ gunzip mehiläisten elämä.txt Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 3 / 13

Pakkaaminen ja purkaminen tar pakkaa kokonaisia hakemistoja ja muita tiedostokokoelmia. Käskyt $ tar -c -z -f gutenberg.tgz mehiläisten elämä.txt lyhyitä kertomuksia.txt $ tar -c -z -f clt130.tar.gz clt130 luovat paketit gutenberg.tgz ja clt130.tar.gz (clt130 on hakemisto). Käskyllä voi luoda myös bzip2-paketteja. Näissä on parempi pakkaussuhde, mutta niiden pakkaaminen kestää kauemmin. tar pakkaa paitsi zip-paketteja myös bzip2-paketteja. Näissä on parempi pakkaussuhde, mutta pakkaaminen kestää kauemmin. Ne nimetään useimmiten tiedosto.tar.bz2 tar osaa myös purkaa $ tar -x -z -f clt130.tar.gz $ tar -x -j -f clt130.tar.bz2 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 4 / 13

Tiedostojärjestelmästä etsiminen Etsitään kotihakemiston alihakemistoista tiedostoja joiden nimi alkaa mehiläisten elämä $ find -name "mehiläisten elämä*" /home/u3/silfverb/kurssit/clt130/mehiläisten elämä.freq /home/u3/silfverb/kurssit/clt130/mehiläisten elämä.txt.freq /home/u3/silfverb/kurssit/clt130/mehiläisten elämä.txt.gz /home/u3/silfverb/kurssit/clt130/mehiläisten elämä.txt Etsitään kotihakemiston alihakemistoista yli 100 megatavun tiedostoja $ find -size +100M Etsitään ohjelmia ja skriptejä joiden nimessä on laske $ find -perm /u+x -name "*laske*" Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 5 / 13

Testit Prosessin suoritus voi päättyä joko normaalisti tai virheellisesti. Edellisen prosessin päätöstila tallentuu muuttujaan $?. $ cat mehiläisten elämä.txt > /dev/null $ echo $? 0 $ cat mehiläisten elämä.txtt > /dev/null cat: mehiläisten elämä.txtt: Tiedostoa tai hakemistoa ei ole $ echo $? 1 Normaalisti päättyvä prosessi saa koodin 0 ja virheellisesti päättyvä prosessi jonkin muun koodin kuten 1 tai 127. Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 6 / 13

Testit Komentoa [ käytetään totuustesteihin. Se ottaa argumenttilistan, jossa viimeinen argumentti on aina ]. Viimeistä edeltävät argumentit muodostavat testin $ [ 1 -eq 2 ] $ echo $? 1 $ [ 1 -eq1 ] $ echo $? 0 $ LUKU=1 $ [ $LUKU -eq 1 ] $ echo $? 0 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 7 / 13

Testit Seuraavat testit onnistuvat eli ovat tosia: $ [ 1 -eq 1 ] $ [ 1 -ne 2 ] $ [! 1 -eq 2 ] $ [ "koira" == "koira" ] $ [ "koira"!= "kissa" ] $ [ "koira" == "koira" -a 1 -eq 1 ] $ [ "koira" == "kissa" -o 1 -eq 1 ] $ [ 1 -le 2 ] Seuraavat testit onnistuvat jos on olemassa tiedosto tiedosto.txt ja hakemisto hakemisto $ [ -f tiedosto.txt ] $ [ -d hakemisto ] Mikäli tiedostoon tiedosto.txt on lukuoikeus seuraava testi onnistuu $ [ -r tiedosto.txt ] Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 8 / 13

Ehtolause Käyttämällä if/then rakennetta, voidaan käyttää testejä valitsemaan mitä komentoja suoritetaan $ if [ $LUKU -eq 1 ] > then > echo "yksi oli!" > fi yksi oli! $ if [ $LUKU -eq 2 ] > then > echo "kaksi oli!" > else > echo "ei ollut kaksi!" > fi ei ollut kaksi! Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 9 / 13

Ehtolause Muuttuja $# tallentaa skriptin komentoriviargumenttien lukumäärän $ cat laske frekvenssilista.sh #! /bin/bash if [ $# -ne 2 ] then echo "Käyttö: $0 lähdetiedosto kohdetiedosto" 1>&2 exit 1 else echo "Luetaan tiedostosta $1" 1>&2 echo "Kirjoitetaan tiedostoon $2" 1>&2 cat $1 tr -s \t\r \n tr A-ZÅÄÖ a-zåäö sort uniq -c sort -nr > $2 fi Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 10 / 13

Toistolause Usein halutaan tehdä sama operaatio isolle joukolle tiedostoja. Esim. voi olla että hakemistossa on sata kirjaa, ja jokaisesta halutaan laskea frekvensilista. Tällöin käytetään toistorakennetta for. $ for tiedosto in * > do >./laske frekvenssilista.sh "$tiedosto" "$tiedosto".freq > done for-käsky käy läpi jokaisen tiedostonimen tämänhetkisessä hakemistossa, tallentaa sen muuttujaan tiedosto ja ajaa käskyn laske frekvenssilista.sh. $ for i in "yksi" "kaksi" > do > echo "$i" > done yksi kaksi Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 11 / 13

Toistolause Käyttämällä -merkkejä voi luoda forille argumenttilistan unixin käskyillä. -merkki löytyy ainakin suomalaisesta pc-näppäimistöstä plus- ja kysymysmerkin oikealta puolelta. $ cat english.txt Heres some mipselled text. $ for i in cat english.txt > do > echo "$i" > done Heres some mipselled text. Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 6 11. lokakuuta 2010 12 / 13