Naredba rpl spašava dan!

24.09.2013.

Zamislite situaciju gdje ste otkrili kako se napravili istu pravopisnu ili bilo kakvu grešku u sintaksi u cijelom nizu datoteka. Još gore, ako su te datoteke porazbacane u hijerarhiji direktorija i ne znate u kojim se sve datotekama i direktorijima greška nalazi. Koliko vam vremena treba da ispravite problem? Lukaviji će zasigurno napisati shell skriptu koja će rekurzivno tražiti kroz direktorije sve datoteke koje sadrže odgovarajući string i tad pomoću sed naredbe mijenjati sadržaj u ispravan. Manje lukavi će možda upotrijebiti naredbu grep da bi locirali sve datoteke koje je potrebno editirati nakon čega će u tekst editoru obaviti korekcije.

Srećom, postoji i još lakše, gotovo genijalno jednostavno rješenje. Ono se krije u naredbi rpl.

Ovaj programčić možda nije instaliran po defaultu u vašoj linux distribuciji, ali ćete ga vjerojatno lako pronaći i instalirati.

rpl je u stanju ići rekurzivno kroz direktorije i raditi promjene u stringovima, kao na primjerima:

rpl "stara fraza" "nova fraza" *.html

Gornja naredba će izmijeniti sve pojave stringa stara fraza sa stringom nova fraza, u svim datotekama sa ekstenzijom .html unutar trenutačnog direktorija.

rpl -R orjentacijski orijentacijski */*

Ova naredba će iz trenutačnog direktorija rekurzivno pregledati sve poddirektorije i u svakome od njih provjeriti sve datoteke. Gdje nađe riječ orjentacijski, zamijenit će ju sa riječju orijentacijski. Primjetite, da je potrebno zatvoriti u navodne znakove frazu ukoliko ona u sebi sadrži razmak, kao u prvome primjeru.

Impresivno jednostavno, zar ne?