Perl za kišni dan...

Posted by Marko M. Sun, 14 Sep 2008 12:07:00 GMT

Divan kišni dan. Ne znam za vas ali ja uživam kada pada kiša. Danas sam se nešto igrao u Perlu pa rekoh da podelim sa vama… možda vam zatreba nekada ovako nešto. Elem, pretpostavimo da i vi morate da izmenite jednu te istu liniju u preko 100 fajlova. (Sređivao sam prevod za Joomla! 1.5.7 pa je trebalo promeniti prvu linuju svih fajlova sa prevodom da umesto 1.5.6 stoji 1.5.7) Ima načina i načina, reče jedan mudar čovek. Tačno. I evo vam jednog krajnje jednostavnog načina da pomenutu radnju izvedete uz pomoć Perla:

perl -pi -w -e 's/trazi/zameni/g;' *.ini

I šta ovo radi?  Pretražuje sve fajlove sa ekstenzijom INI i u njima ovo "trazi" i umesto toga stavlja "zameni". Ili malo detaljnije:

-e znači: izvrši sledeću liniju koda.
-i uredi(edit) u mestu.
-w prikaži upozorenja.
-p 
petlja(loop).

Ovo je izmenilo željenu linuju u 93 fajla za par sekundi. Vodite računa da znake tipa "/" i "." morate izbeći jednim "\" ispred svakog od njih. Recimo, moja linija za izmenu verzije Joomla! u fajlovima sa prevodom bi izgledala ovako:

perl -pi -w -e 's/1\.5\.6/1\.5\.7/g;' *.ini

Posted in , ,  | Tags , , ,  | 1 comment