SED a nahrazeni retezce uvnitr napr. HTML tagu
Ales Horak
hales na charon.fi.muni.cz
Pátek Leden 7 09:31:09 CET 2000
Leos Bitto <bitto na atrey.karlin.mff.cuni.cz> pise:
>Karel Fajkus (karel.fajkus na baywa.cz) wrote:
>: Karel Fajkus wrote:
>: > Leos Bitto <bitto na atrey.karlin.mff.cuni.cz> wrote in message
>: > > Zkuste toto: s/\(<[^>%]*\)%25/\1%/g
>: >
>: > To bohuzel neni ono, to nahradi naopak jen prvni vyskyt %25
>:
>: A navic vlastne ani ten, pokud je pred nim jeste znak % s jinym nasl. retezcem
>: nez 25, takze treba v pripade:
>: zacatek bla bla <a href="neco.html?a=a%eeb%25cd&b=ef%25gh">klik</a> bla konec
>: Nenahradi ani jeden.
>
>Hmm, to uz vidim. Myslim si ze to nejde zapsat pomoci regularniho vyrazu,
>a tedy nepujde pouzit sed ani nic podobne jenoducheho. :-(
jenze on sed neni nic "jenoducheho", umi o dost vic nez jen regularni
vyrazy.
co treba tohle:
$ cat p.sed
#!/bin/sed -f
:n
s/\(<[^>]*\)%25/\1%/
tn
$ echo '<a href="neco.html?a=a%eeb%25cd&b=ef%25gh">klik</a>' | ./p.sed
<a href="neco.html?a=a%eeb%cd&b=ef%gh">klik</a>
--
Ales Horak
Fakulta informatiky
Masarykova Univerzita Brno
Další informace o konferenci Linux