Naravno da jeste.. Ono sto ti treba je sed i regular expressions (tj. jedan od nacina da se ovo uradi). Pogledaj
ovde i
ovde.
Konkretno, ako imas neki html fajl koji se zove test.html i njegov sadrzaj je
Code:
<html>
<head></head>
<body>
<p>ovo je neki tekst</p>
<p>ovo je drugi paragraf</p>
<a href="http://www.nekidomen.com/index.php?action=121">nesto</a>
<p>ovo je treci <a href="http://www.nekidomen.com/asddsa.sdhs">nesto drugo</a></p>
</body>
</html>
onda ce ova komanda odraditi to sto hoces i snimiti rezultat u fajl sredjeno.html (u bash-u):
Code:
sed 's-\"http:.*\"-\"http://www\.mojdomen\.com/index\.html\"-g' test.html > sredjeno.html
Ovo pod uslovom da pozivas komandu iz foldera gde ti se nalazi fajl test.html.
Ovde sam koristio minus kao znak koji razdvaja delove komande zato sto se slash javlja u html adresi kojom hoces da zamenis originalnu.. Isto tako, obrati paznju na backslash koji sluzi kao escape character..
Sve sto dalje treba da uradis je da napravis jednostavan shell-script koji ce ovo (naravno prilagodjeno) da protera kroz sve foldere gde ti se nalaze fajlovi koje treba da sredis (
pogledaj ovde)
I da, ovo ce da zameni SVAKI string koji pocinje sa "http: i zavrsava se sa ". Mozda bi bilo pravilnije ubaciti i <a href, ali to ostavljam tebi..
Srecno!
PS. Sada sam skontao da nisam skroz odgovorio.. za izmenu samo stringova koji pocinju sa
http://www.nekidomen.com bi koristio ovo:
Code:
sed 's-\"http://www\.nekidomen\.com.*\"-\"http://www\.mojdomen\.com/index\.html\"-g' test.html > sredjeno.html