[ kumkat @ 26.06.2009. 23:55 ] @
Pozdrav
Imam gomilu fajlova u kojima treba da izmenim neke reci u kojima ima naših slova
kada koristim komandu

perl -i.bak -pe 's/Telefon/ tel. /g' $1

za neku rec koja nema nasa slova to radi "Telefon" zameni sa " tel. "
ali recimo ovo nece

perl -i.bak -pe 's/VeliÄMina/ velicina /g' $1

reč "VeliÄMina" bas tako pise u fajlovima (kada ih gledam u editorima), ali nece da je izmeni u "velicina" .. jednostavno ne prepozna rec ...

Hvala

[ ventura @ 27.06.2009. 00:28 ] @
Ne znam kako to da odradiš direktno sa komandom iz komandne linije (jer ne podržava enkodiranje), ali možeš napraviti perl fajl, snimiš ga kao UTF-8 i onda normalno izvršiš

recimo napravi sledeći file, i nazovi ga test.pl:
Code:

$string = "Veličina";

print "$string\n";

$string =~ s/Veličina/ velicina /; 

print "$string\n";


potom samo kucas
Code:

perl test.pl


i to je to... Ako hoćeš da napraviš search&replace linija u fajlu, stavi file u while petlju, a output možeš da štampaš na OUT ili jednostavno direktno iz komandne linije izlaz da preusmeriš na fajl (perl test.pl > out.txt)
[ Gojko Vujovic @ 27.06.2009. 00:40 ] @
Za naša slova u linux shellu probaj:

[01:38:12] [~]: unicode_start
[01:38:16] [~]: ćčšđŠĐ
-bash: ćčšđŠĐ: command not found


A da li će raditi na tvom fajlu zavisi od encodinga u kome je snimljen. Probaj fajlove da prebaciš u utf8 ako već nisu, onda bi trebalo da radi i ovakav replace.
[ kumkat @ 27.06.2009. 10:33 ] @
Prvo da zahvalim i Venturi i Gojku na brzim odgovorima .... fajlovi jesu u utf8 tako da mi je ovo Gojkovo resenje mnogo lakse za primenu u bash skripti.
Inace probao sam oba nacina i oba rade....

Hvala jos jednom.