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.

Kuharice: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (1 vote)