Search and Replace

trebam applikaciju (po mogucnosti Linux, OSX i Win) sa kojom mogu izvrsiti zamjenu nekog stringa u svim fajlovima nekog foledera (koji naravno moze imati tonu podfoldera). znaci, pretrazi sve fajlove foldera OS, nadji string ‘Windows’ i zamijeni sa ‘Linux’ :slight_smile:

trebam napraviti zamjenu u stotinjak fajlova a da idem “pjeske” ne da mi se
:smiley:

Sed, awk ?

Imal’ nesto lakse :slight_smile:

Nista nije komplikovano. Na primjer zelis svako “Windows” da zamijenis u “Linux” u svakom fajlu koji se zavrsava sa “.os” i nalazi se u diru “/sistemi”, uradis:

(meni najprostiji nacin)

[quote=Asm1r]Nista nije komplikovano. Na primjer zelis svako “Windows” da zamijenis u “Linux” u svakom fajlu koji se zavrsava sa “.os” i nalazi se u diru “/sistemi”, uradis:

(meni najprostiji nacin)[/quote]

sve mi jasno do dijela

sta ovo znaci? zagrade, \ i ;

Argument -exec programa find cini da za svaki nadeni fajl uradi zadatu komandu, u nasem slucaju

Sto se tice

“{}” predstavlja pronadeni fajl a “;” je kao terminator “-exec” argumanta, znace sve od “-exec” do zadnjeg “;” je komanda koju find izvrsava nad nadenim fajlovima. (primijeti izmedu {} i ; inace dobijes error)

Hmm, ovako iz glave reko bih:

replace je laksi jer ne uzima regular expression (tipa ne moras radit stvari kao “nesto.jpg”).
Za cudo, manpage veli da dolazi uz mysql-server: http://www.manpagez.com/man/1/replace/

[quote=Asm1r]Argument -exec programa find cini da za svaki nadeni fajl uradi zadatu komandu, u nasem slucaju

Sto se tice

“{}” predstavlja pronadeni fajl a “;” je kao terminator “-exec” argumanta, znace sve od “-exec” do zadnjeg “;” je komanda koju find izvrsava nad nadenim fajlovima. (primijeti izmedu {} i ; inace dobijes error)

ok. sad probavam lokalno, ne na serveru. jer bih GARANT nesto zaheb’o…
nego u dijelu “s/Windows/Linux/” treba da, konkretno, mijenjam $_SESSION[‘status’] u $_SESSION[‘value’]. pretpostavljam da treba nekako da pokazem da $, _ i single-quote STVARNO pripadaju stringu. nesto kao $_SESSION[‘status’]. naravno da ovo ne fercer.
ideje?

HA, HA, HA… Sta sam uradio… Ama svakimoguci znag/slovo/broj je zamijenio sa [‘value’]

koristio sam ovo

:smiley:

Uglaste zagrade imaju specijalno značenje u regexima, a dolar ti je protumačio kao shell varijablu umjesto kao znak koji zamjenjuješ :slight_smile: oba bi se trebala escapovati znakom backslash: $ [ ]
O tome je adioe3 pisao ranije.

Nije tako prosto, jer i shell i sed imaju svoje regexe tako da samo stavljanjem backshasha ispred specijalnih karaktera nece raditi.

@afan: jel jos vrtis suse? :smiley:

[quote=afan]HA, HA, HA… Sta sam uradio… Ama svakimoguci znag/slovo/broj je zamijenio sa [‘value’]

koristio sam ovo

:D[/quote]

backup comes first :slight_smile:

[quote=vedran]Uglaste zagrade imaju specijalno značenje u regexima, a dolar ti je protumačio kao shell varijablu umjesto kao znak koji zamjenjuješ :slight_smile: oba bi se trebala escapovati znakom backslash: $ [ ]
O tome je adioe3 pisao ranije.[/quote]
prob’o i ne ide…
:frowning:

jok. na ubiju vec 5-6 godina. ovo dole mi palo na pamet i svidja mi se. :smiley: