Naredbe za koje (možda) niste znali 6: cut
Naredba cut u linuxu je komplementarna naredbi paste i s njom se mogu na brzinu napraviti određene manipulacije s tekstualnim datotekama, za koje bi možda inače trebali pisati perl skriptu ili koristiti awk.
Kako bi vidjeli što ta naredba uistinu radi, najbolje je da pokažemo na jednom primjeru.
Prvo napravimo jednu probnu datoteku proba.txt. Za pravljenje proba.txt datoteke ne moramo posezati za editorom, nego, kao iskusni sistemci (zlo)upotrijebimo konzolnu naredbu cat i makro naredbu EOF (End Of File), te upisujmo kako slijedi:
lcavara@ttf:~/isprobavanja$ cat >proba.txt<<EOF
> 1. 2. 3. 4.
>
> 1 Jedan Dva Tri
> 2 1 2 3
> 3 I II III
> 4 One Two Three
> EOF
lcavara@ttf:~/isprobavanja$
(za ramake između stavki koristili smo tabulator).
Pogledajmo jel' datoteka proba.txt kreirana i kako izgleda:
lcavara@ttf:~/isprobavanja$ cat proba.txt
1. 2. 3. 4.
1 Jedan Dva Tri
2 1 2 3
3 I II III
4 One Two Three
lcavara@ttf:~/isprobavanja$
Dobili smo tekstualnu datoteku, sastavljenu od redova i stupaca. S naredbom cut možemo "isjeći" bilo koji stupac, ili stupce, recimo drugi i četvrti stupac:
lcavara@ttf:~/isprobavanja$ cut -f 2,4 proba.txt
2. 4.
Jedan Tri
1 3
I III
One Three
lcavara@ttf:~/isprobavanja$
(Redoslijed stupaca uvijek ostaje, bez obzira, kako smo poredali parametre iza -f (field) opcije, pa bi tako rezultat bio isti i da smo gornju naredbu pisali: cut -f 4,2 proba.txt. Drugi red u datoteci proba.txt je namjerno ostavljen prazan, da se vidi da to ne utječe na korektno izvršavanje naredbe)
U navedenom primjeru tekstualna datoteka je imala tabulator kao delimiter, no ako se između pojedinih stupaca nalazi neki drugi znak, npr dvotočka: : ili razmak ' ', onda se uz opciju -f treba dodati opcija -d':' odnosno -d' '. Ako trebamo "isjeći" redove umjesto stupaca, onda trebamo predhodno upotrijebiti komandu paste s parametrom -s, i nakon primjene comande cut, opet primijeniti komandu paste s parametrom -s da opet budu redovi - redovi, a stupci - stupci. S cut i paste vrlo je zgodno koristiti i sort, da bi se redovi i stupci sortirali po određenom kriteriju - npr. po abecedi ili rednom broju.
- Inačica za ispis
- Logirajte se za dodavanje komentara
- PDF version