Rad s tekstualnim datotekama
Kodiranje znakova
-
kodiranje znakova je zapis znakova nizom 0 i 1
-
Unicode je industrijski standard kodiranja koji omogućuje kodiranje većinu postojećih znakova
-
tekstualna datoteka je datoteka koja sadrži čisti tekst kodiran nekim od kodiranja
- iako datoteke mogu biti tekstualnog oblika bez obzira na ekstenziju, radi lakšeg snalaženja, označavat ćemo ih ekstenzijom
.txt
, primjericefile1.txt
- iako datoteke mogu biti tekstualnog oblika bez obzira na ekstenziju, radi lakšeg snalaženja, označavat ćemo ih ekstenzijom
-
locale
ispisuje trenutne lokalne i regionalne postavke operacijskog sustavaen_US.UTF-8
(zadane),hr_HR.UTF-8
(naše),en_DK.UTF-8
(često korištene, donekle hakeraj; Danske regionalne i lokalne postavke slične našima)
-
locale -m
ispisuje popis podržanih kodiranja na sustavu- osim Unicode kodiranja, ISO-8859-2 je kodiranje koje sadrži Hrvatske znakove
Dodatni zadatak
Naredba iconv
se koristi se za konverziju između različitih kodiranja. Mi ćemo od sada nadalje koristiti samo UTF-8, ali se u praksi često sreću datoteke kodirane i drugim kodnim stranicama.
Proučite man
stranicu naredbe iconv
, a zatim je isprobajte kod prebacivanja datoteke iz UTF-8
kodiranja u UTF-7
, UTF-16
, ISO-8859-2
.
Uređivači teksta
- prije grafičkih sučelja, programi bili dizajnirani na način da koriste plain text
- programi za rad s tekstom u komandnoj liniji nisu programi za obradu teksta (engl. word processors) nego uređivači teksta (engl. text editors )
-
GNU Emacs, naredba
emacs
- iznimno moćan uređivač teksta, velike mogućnost prilagodbe i proširenja funkcionalnosti
- podržava bojenje sintakse, kompletiranje naredbi i automatsko uvlačenje koda za desetke različitih programskih jezika
- podržava UTF-8 i koristi ga kao zadani ako je on zadan sustavskim lokalnim i regionalnim postavkama; više detalja o kodiranjima u Emacsu
- ne sadrži modove, za razliku od popularnog Vima
- xkcd: Real Programmers
Zadatak
-
Proučite vodič za Emacs od Stanfordovog Centra za računalna istraživanja u glazbi i akustici ili papir s Emacsovim naredbama. Isprobajte iduću funkcionalnost:
- open, close, read, save
- mark, copy, cut, paste
- search forward, search backward
-
Napravite u svom kućnom direktoriju datoteku
mjeseci.txt
i u nju upišite nazive mjeseci tako da je svaki naziv u svome retku. - Kopirajte sav sadržaj i zalijepite ga na kraj datoteke tri puta.
- Sačuvajte Vašu datoteku pod nazivom
mjeseci3.txt
. - Dodajte svoje ime i prezime na kraj datoteke i sačuvajte Vaš trenutni rad.
- Odaberite dvije stvorene kopije sadržaja, izrežite ih, a zatim spremite u novu datoteku
mjeseci2.txt
. - Pozicionirajte se u neki redak datoteke
mjeseci2.txt
i otkrijte broj linije u kojoj se trenutno nalazite. - Pronađite u datoteci string
anj
i zamijenite ga sa rječjuZAMJENA
.
Dodatni zadatak
- Otvorite u Emacsu datoteku nazvanu
moj_program.cpp
. Uočite u koji način rada (mode) vas postavlja. - Unesite kod hello world C++ programa i spremite ga, a zatim ponovno spremite datoteku pod imenom
moj_program2.cpp
. - Otvorite obje datoteke istovremeno i prebacite se iz jedne u drugu.
- Uočite da Emacs u zadanim postavkama ne vrši bojenje pripadnih zagrada
()
, odnosno[]
, odnosno{}
, odnosno<>
. Pronađite u "Options" način da to uključite.
(Napomena: Vremenom ćemo naučiti kako koristiti program-prevoditelj za prevođenje C++ programa na Linuxu.)
Dodatni zadatak
- Proučite program Vi IMproved (naredba
vim
).
Dodatni zadatak
- Pokrenite GNU nano (naredba
nano
), koji je vrlo jednostavan uređivač teksta, zamjena za nekoć popularnipico
. -
Isprobajte u GNU nano-u iduću funkcionalnost:
^X -> Exit
,^C -> Cur Pos
,^O -> WriteOut
,^R -> Read File
,^K -> Cut Text
i^U -> UnCut Text
,^W -> Where Is
(i varijante^W^R
,^W^Y
,^W^V
,^W^T
).
Pitanja za ponavljanje
- Što je kodiranje znakova?
- Što je UTF-8? A UTF-32?
- Na što sve utječu lokalne i regionalne postavke sustava?
- Što je Emacs i čemu služi?
Author: Vedran Miletić, Vanja Slavuj, Sanja Pavkov