You are on page 1of 4

09-Nov-17

Rad sa datotekom
• touch
• Stvaranje (prazne) datoteke naziva koji je proslijeđen kao argument
• rm
• Brisanje datoteke danog imena (adrese)
Operacijski sustavi • cp i-dat o-dat
• Kopira datoteku danog imena (i-dat) na zadano mjesto u datotečnom sustavu imena koje
Rad sa datotekama. navedemo (o-dat)
• mv i-dat o-dat
• Preimenuje datoteku zadanog naziva (i-dat) ili ju premjesti ukoliko je drugi argument adresa
Marina Bajčić

Zadatak 1 Rekurzivno brisanje i kopiranje


• U svom kućnom direktoriju napravite direktorij zadatak1510 i uđite u • cp–r, cp-R
njega.
• rm–r, rm-R
• U njemu napravite 3 datoteke: vjezba1, vjezba2 i vjezba3 jednom
naredbom (linijom). Ispišite na ekran sadržaj datoteke vjezba2. • Rekurzi vno kopiranje i bri sanje datoteka (i direktorija);
• Izbrišite zatim datoteku vjezba1.
bri š e/kopira direktorij i sve datoteke i poddirektori je u njemu
• U istom direktoriju napravite i direktorij dir1. • na či n na koji brišemo neprazne direktorije
• Kopirajte datoteku vjezba3 u dir1, jednom koristeći relativno a drugi
put apsolutno referenciranje.

Zadatak 2 Uvod u globalne izraze


• da bi s mo ma nje koda pisali, a bili učinkovi tiji
• Kopirate datoteku Pravilnik.txt u direktorij • do s a da s mo koristili:
Preddiplomski • npr. rm vjezba1.txt vjezba2.txt
• Kopirajte sav sadržaj direktorija • mnogo ra di mo s a nazivi ma datoteka pa postoji mogućnost
Preddiplomski, u novi direktorij Diplomski, ra da s a posebnim znakovi ma (koji nemaju doslovno
koristeći apsolutno referenciranje.
zna čenje) da bismo brzo i l ako s pecificirali nazive većeg broja
• Direktorij Preddiplomski preimenujte u da toteka
Preddipl.
• Izbrišite direktorij Preddipl.
• gl oba lni i zrazi, globovi i li wildcards

1
09-Nov-17

Globbing Globalni izrazi i njihova značenja (1/3)


• Kori s ti se za pretraživanje velike količine stri ngova (naziva • ?–za mjenjuje s amo jedan, bi lo koji znak
da toteka/direktori ja) koji odgova raju za danome uzorku • *-za mjenjuje bilo koliko bilo kojih znakova
• Gl oba lni i zrazi zamjenjuju jedan ili vi še znakova u nekom • [cha rs ]–zamjenjuje jedan, bilo koji od navedenih znakova u
na zi vu da bi s e područje primjene neke na redbe proširilo za gra di, a mogući s u i ra sponi kombinacije
• [A-F], [3-7], [k-m3-6], [3h-z5-7P]
• [!cha r]–za mjenjuje jedan, bilo koji od zna kova koji nije
na veden u za gradi (! i ma negacijsko značenje)

Globalni izrazi i njihova značenja (2/3) Globalni izrazi i njihova značenja (3/3)
• [:kl a s a:]-zamjenjuje jedan ili vi še zna kova koji s u čl anovi • \ je tzv. preki dni znak kojim s e funkcionalni zna kovi (ti pa [, *
na vedene klase i l i ?) i nterpretiraju kao obični zna kovi
• Na jčeš će korištene klase s u: • npr. l s s tudent\* i zlistava sve datoteke koje s e zovu s tudent*
• [:alnum:] a l i ne s tudent1, s tudent5, s tudent15 i s l.
• [:alpha:]
• [:digit:]
• [:lower:]
• [:upper:]

Zadatak 3 (1/2) Zadatak 3 (2/2)


• U svom kućnom direktoriju stvorite poddirektorij Zadatci i u njemu datoteke • Is probajte naredbu l s [^a d]* i ra zmislite o njezinom značenju.
zadatak, zadatek, zadatuk, zadatak1, zadatak2, zadatakABC, zadatakabc,
zadacnica, zadacnicA, zad3 i dat05. • Is probajte naredbu l s {a b,dat,f}?? I ra zmislite o njezinom
• Jednom naredbom, koristeći se glob-om, izlistajte samo: zna čenju.
• zadatak, zadatek, zadatuk;
• zadatek, zadatuk;
• Is probajte naredbu ca t *`<:upper:]1-4]. Što ona radi?
• Samo datoteke koje na 8 mjestu naziva imaju veliko slovo
• samo datoteke koje počinju slovom z, na 5 mjestu naziva im nije ni malo ni veliko slovo koja se po
abecedi nalazi nakon slova s, i čiji naziv završava malim slovom
• sve datoteke čiji naziv završava brojem manjim od 4
• sve navedene datoteke

2
09-Nov-17

Izdvajanje linija iz tekstualnih datoteka grep regularni izrazi (1/2)


• grep • [chars] – jedan znak, bilo koji od navedenih u zagradama
• služi za izdvajanje linija prema određenom uzorku iz tekstualnih • kao i glob, podržava i sintaksu oblika [A-Z], [a-z], [0-9]
datoteka, primjer: • [^chars] – jedan znak, bilo koji osim navedenih u zagradama
• grep "x" datoteka.txt
• . – jedan znak, bilo koji
• izdvaja linije koje sadrže slovo x u tekstualnoj datoteci datoteka.txt
• ^ – početak retka
• $ – kraj retka

grep regularni izrazi (2/2) Zadatak 4


• * – nijedno, jedno ili bilo koliko ponavljanja prethodnog znaka (npr. .* • Stvorite datoteku mjeseci.txt u koju ćete, u svaki red posebno, zapisati
je bilo koliko ponavljanja bilo kojeg znaka) sve mjesece u godini i sve dane u tjednu. Zatim iz nje izdvojite
• + – jedno ili bilo koliko ponavljanja prethodnog znaka (ali ne niti sljedeće linije:
jedno!) • sve koje sadrže slovo a;
• sve koje sadrže slovo O ili o;
• ? – jedno ili nijedno ponavljanje prethodnog znaka • sve koje ne sadrže slovo i;
• {n,m} – element koji prethodi mora se pojaviti određen broj puta • sve koje sadrže niz znakova an i još barem jedno slovo nakon n;
• (ab|cd) – predstavlja alternaciju tj. uzorak mora sadržavati ili niz ab ili • sve koje počinju slovom S ili s;
cd • sve koje imaju točno 8 slova.

Zadatak 5 (1/2) Zadatak 5 (2/2)


• Izdvojite iz datoteke adrese1.txt adrese koje:
• Napravite datoteku adrese1.txt i u nju upišite sljedeće e-mail adrese (svaka u
svome retku): • koriste veliko slovo u korisničkom imenu;
• peric.hrvoje@mail.net • završavaju na .hr ili .com;
• nekiMail@inet.hr • čije se korisničko ime sastoji od točno 8 slova;
• mail1@t-com.net • počinju sa bilo kojim slovom koje se u abecedi nalazi nakon slova o;
• Miro-gavran@gmail.com • koriste znak . ili -- u korisničkom imenu;
• mail25@yahoo.com
• čije korisničko ime ne završava brojem;
• mail18@bnet.hr
• sadrže slovo r, nakon kojeg slijedi niz ic (koji se može ponavljati više
• Mail.novi@inf.uniri.hr
• serveric@mail.com puta), a iza kojeg odmah slijedi znak @;
• ppos2@net.hr • su oblika mail(broj<5)(broj>7).

3
09-Nov-17

Rad nad nizom podataka Zadatak 6


• sed je skraćenica od stream editor • Na pra vi te datoteku da ni.txt koja će s adržavati sve dane u
• dozvoljava rad nad nizom podataka tjednu (jeda n i spod drugoga).
• podaci sa standardnog ulaza uređuju se prema prethodno napisanim uputama, • zamijenite riječ utorak sa drugi,
naredbama spremljenim u datoteku i prosljeđuju se na standardni izlaz
• koristeći samo jednu naredbu sed, zamijenite riječ subota sa
• Primjeri: početak, a nedjelja sa kraj,
• sed 's/dan/noć/' text1.txt # mijenja slijed dan za noć u datoteci text1.txt
• sed 'y/aeiou/AEIOU/' file1.txt # zamjenjuje svako od navedenih malih slova s odgovarajućim • transformirajte svaki samoglasnik u slovo koje se po abecedi nalazi
velikim slovom iza njega.

Složenije izdvajanje i obrada teksta Zadatak 7


• awk je jezik za skriptiranje koji pruža složene mogućnosti uparivanja obrazaca • Napravite datoteku ucenici.txt u koju ćete zapisati ime i prezime nekoliko vaših
• awk se može koristiti za zamjenu riječi u nekoj tekstualnoj datoteci sa zadanim kolega, te dodajte po dvije ocjene za svakoga (od 1 do 5). Koristeći naredbu awk
riječima ili se mogu vršiti izračuni koristeći brojeve koji su zapisani u nekoj ispišite:
datoteci; mi ćemo se zadržati na funkciji ispisa • prezime i sve ocjene za svakog učenika u datoteci, ispis neka bude oblika:
• Učenik Prezime ima ocjena1 iz prvog predmeta, te ocjena2 iz drugog predmeta.
• sintaksa: awk '{print <što se ispisuje>}' datoteka.txt
• ime i prvu ocjenu za svakog učenika, te zbroj ocjena, ispis neka bude oblika:
• tekst koji želite ispisati (a nije dio datoteke) stavite u navodnike (npr. “Tekst”)
• Učenik Ime ima ocjena1 iz prvog predmeta, a zbroj ocjena mu iznosi zbrojOcjena.
• s opcijom print i varijablama možemo koristiti i mat. operatore +, -, * i /
• ime, prezime, te prosječnu ocjenu za svakog studenta, ispis neka bude oblika:
• awk obrađuje dokument liniju po liniju, a svakoj je riječi u liniji pridružena • Učenik Ime Prezime ima prosječnu ocjenu prosječnaOcjena.
varijabla: prvoj $1, drugoj $2, itd.

You might also like