SED: vyhazování prázdných skupin
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Středa Únor 20 18:45:52 CET 2002
On Wed, 20 Feb 2002, Michal Špaček wrote:
> > Nicmene i tak to nebude fungovat na zacatku radky. To by to muselo
> > znit s/\(^\|[^!?]\){}``/\1``/g.
> > ^^^
> To je kapanek divne ne?
>
> Klidne to muze vypadat treba takhle:
> sed -e 's/\(^\){}``/\1``/g'
> Protoze to vase \|[^!?] je tam uplne k nicemu.
> Pokud to dobre chapu, tak to vezme prvni moznost "^", ktera bude
> vzdycky pravdiva. -> = \(^\|^\), coz je zbytecne.
Tak to tedy moc dobre nechapete. ^ mimo [] ma uplne jiny vyznam (zacatek
radky) nez jako prvni znak uvnitr [] (negace).
> Myslim, ze obecne lepsi je asi tohle:
> sed -e '/^[?!]/ !s/{}``/``/g'
> protoze tam muzete vyjmenovat kombinace ktere tam muzou byt.
> Pr: treba libovolne v textu [?!]
> sed -e '/[?!]/ !s/{}``/``/g'
Jenom to bude mit takovou mensi chybicku, ze to bude delat uplne neco
jineho. V prvnim pripade se bude nahrazovat v radcich nezacinajicich
otaznikem nebo vykricnikem (coz mozna nahradi spatne, kdyz prislusna
zakazana sekvence nebude hned na zacatku). V druhem pripade v radcich
neobsahujicich tyto dva znaky (coz zase mozna vynecha nektere radky, kde
nahrazeni melo probehnout).
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux