[ tihi_20 @ 02.11.2010. 23:02 ] @
Posle čitanja teme "Pretraga unutar fajlova" pao mi je na pamet jedan problem od pre godinu dana. Da li nekako može da se pretraži jedna reč unutar nekoliko fajlova a onda da se zameni sa drugom a da se ne radi pojedinačno fajl po fajl. Npr. u desetak fajlova na više mesta mi se pojavljuje reč "poslužitelj" a ja hoću da je zamenim sa "server". Ili kako to najbrže može da se odradi?
[ agvozden @ 03.11.2010. 00:20 ] @
Najbrze je putem perl-a:

find /var/www/ -name "*.php"|xargs perl -w -i -p -e "s/Tekst koji se menja/Tekst kojim se menja/g"

promeni putanju, ekstenziju fajlova (*.php) i tekst koji zelis da promenis. I da - oprezno!
[ tihi_20 @ 03.11.2010. 09:47 ] @
Nije mi jasno da li moram da imam instaliran Perl?



--0-2019964983-1288777618=:188
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

--- On Wed, 11/3/10, agvozden <[email protected]> wrote:From: agvozden <[email protected]>Subject: Re: Kako najbrže da se zamene reči unutar više fajlova_ [elitesecurity.pracenje.teme]To: [email protected]: Wednesday, November 3, 2010, 1:20 AMNajbrze je putem perl-a:find /var/www/ -name "*.php"|xargs perl -w -i -p -e "s/Tekst koji se menja/Tekst kojim se menja/g"promeni putanju, ekstenziju fajlova (*.php) i tekst koji zelis da promenis. I da - oprezno!--http://www.elitesecurity.org/p2730668Prijave/odjave: http://www.elitesecurity.org/pracenje#413678Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!esauth:413678:436fd404e2203b7fa9228dcffa6937a9Odgovor pisite *iskljucivo* ispod ove linije:Nije mi jasno da li moram da imam instaliran Perl?
--0-2019964983-1288777618=:188--
[ Jbyn4e @ 03.11.2010. 09:58 ] @
Pa tesko ce da radi ako ga nemas instaliranog.

Ako nemas instaliranog, moraces da upotrebis kombinaciju sa "for" i "sed" ili da instaliras perl.

Nesto kao:
Code (bash):

for i in `find /var/www/ -name "*.php"`
do
sed 's/Tekst koji se menja/Tekst kojim se menja/g' $i > $i.new
mv $i.new $i
done
 
[ tihi_20 @ 03.11.2010. 22:13 ] @
Googlajuci pronadjoh ovaj program koji moze da zavrsi posao a mozda nekome bude od koristi.




--0-1372624344-1288822429=:85882
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

--- On Wed, 11/3/10, Jbyn4e <[email protected]> wrote:From: Jbyn4e <[email protected]>Subject: Re: Kako najbrže da se zamene reči unutar više fajlova_ [elitesecurity.pracenje.teme]To: [email protected]: Wednesday, November 3, 2010, 10:58 AMPa tesko ce da radi ako ga nemas instaliranog.Ako nemas instaliranog, moraces da upotrebis kombinaciju sa "for" i "sed" ili da instaliras perl.Nesto kao:
Code (bash):
for i in `find /var/www/ -name "*.php"`dosed 's/Tekst koji se menja/Tekst kojim se menja/g' $i > $i.newmv $i.new $idone
--http://www.elitesecurity.org/p2730886Prijave/odjave: http://www.elitesecurity.org/pracenje#413678Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!esauth:413678:436fd404e2203b7fa9228dcffa6937a9Odgovor pisite *iskljucivo* ispod ove linije:Googlajuci pronadjoh ovaj program koji moze da zavrsi posao a mozda nekome bude od koristi.


--0-1372624344-1288822429=:85882--
[ Jbyn4e @ 03.11.2010. 22:18 ] @
Koji program?
[ midgard @ 04.11.2010. 16:29 ] @
A sto ne ides seljackom varijantom. Skines fajlove, ubacis ih u neki editor koji ima Find/Replace po vise fajlova, npr. Dreamweaver, odradis lepo sve to iz 3 klika, on ti ispise gde je sve zamenio, imas undo ako ti se ne svidaja i posle upload na server :P

Ili ako bas oces napravi php skriptu koja ti prolazi kroz sve fajlove u folderu i radi replace.
[ tihi_20 @ 06.11.2010. 22:18 ] @
Isprobano
Multiple File Search and Replace 2.2
kada se krekuje u preko 100 fajlova mi je zamenio jednu rec sa drugom za vrlo kratko vreme. Dok se ne krekuje menja samo u 10 fajlova.
[ tihi_20 @ 06.11.2010. 22:29 ] @
Multiple File Search and Replace 2.2 na http://www.internet-soft.com/replace.htm
Ne znam zasto mi nije prikazo link u ptrethodnom postu.
[ Jbyn4e @ 07.11.2010. 07:03 ] @
Sad tek vidim da pricamo o php-u, mi smo ti davali resenje za linux masine i da to direktno zamenis na serveru, a ti neki program za windoze gde moras prvo da povu ces fajlove kod sebe, tako da ovo izlazi debelo iz teme.

Pomocu php-a bi morao da pravis skript koji bi nalazio fajlove, ceo fajl ucitavao u string, vrsio zamenu i snimao fajl ponovo.

A ovo o cemu smo pricali nema nikakve veze sa php-om.