Portál AbcLinuxu, 12. května 2025 06:56

Dotaz: sed nahrazeni vyrazu

8.4.2006 19:05 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
sed nahrazeni vyrazu
Přečteno: 323×
Odpovědět | Admin
Zdarec, zjistil jsem ted ze celou dobu co si predelavam stranky jsem udelal docela velky sek, kde oprava by mi trvala mozna i nekolik hodin. Je to ted asi i lenost,ale potrebuji pomoci s sed-em. Jen sakra nejde mi zde vepsat tag zkusim to posat jinak bez pocatecnich znacek. takze potrebuji nahradit tag kterej sem zdrbal /br na korektni br/ , jenze
sed 's/<  /br  >/<  br/  >g' kontakty.php
toto nefunguje (mezery jsou schvalne).
jen se učím jak se to naučit .... ...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.4.2006 19:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použijte jako oddělovač místo lomítka jiný znak. A napište ho i před to 'g' na konci.
8.4.2006 19:25 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
hmm, asi dost dobre nerozumim :-(
jen se učím jak se to naučit .... ...
David Watzke avatar 8.4.2006 19:28 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Tak takhle to je... a já dumal nad tím, který všechny znaky to můžou být. Všechny!
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
8.4.2006 19:30 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
tak ted jsem uplne mimo misu :-( , oc jde ?
jen se učím jak se to naučit .... ...
David Watzke avatar 8.4.2006 19:38 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Nemusíš psát s/tohle/tamto/g, ale třeba sDtohleDtamtoDg
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
8.4.2006 23:20 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
A nestaci escapovat? Tedy takto: \/ ?
8.4.2006 23:22 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
A tak nic, uz jsem si tu diskuzi docetl.
David Watzke avatar 9.4.2006 10:26 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Jo, ale není výhodnější zvolit jiný znak? Když řetězec obsahuje /, používám :, nějak takto: s:$ROOT:/:g.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
stativ avatar 8.4.2006 19:44 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu

nektere znaky maji specialni vyznam, treba / slouzi pro oddelovani jednotlivych casti sed-oveho skriptu, takze kdyz jsou soucasti nahrazovaneho vyrazu, tak se musi sedu nejak sdelit, ze tim lomitkem neni myslena dalsi cast skriptu, ale je to soucast nahrazovaneho vyrazu. Tak se pred to / da nejaky tzv. oddelovac. Vetsinou je to prave \ i kdyz sed bere i nektere jine znaky (urcite je to treba _)

Takze chcete nahradit vsechny vyskyty neco/neco za neco/neco/necojineho "zaklad" skriptu by byl sed 's/neco/neco/neco/neco/necojineho/s Ovsem ta podtrzena lomitka delaji bordel. sed je bere jako oddeleni jednotlivych casti skriptu, ne jako cast nahrazovaneho vyrazu, takze jejich funkci musime "vypnout" pomoci oddelovace. Takze to nakonec zapiseme treba takto: sed 's/neco\/neco/neco\/neco\/necojineho/s nebo s pouzitim _ jako oodelovace sed 's/neco_/neco/neco_/neco_/necojineho/s
Vetsinou se ale setkate s prvnim zpusobem zapisu.

Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
8.4.2006 19:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
To, co jste napsal na konci, vám opravdu funguje? Mně to tedy sed odmítá jako syntakticky chybný zápis.

S dovolením bych to vysvětlil trochu jinak: jako oddělovač jednotlivých parametrů se obvykle používá lomítko: 's/pattern/replacement/'. Ale pokud je potřeba použít lomítko ve vzorku nebo nahrazujícím textu, lze použít místo něj jiný oddělovač, který se v nich nevyskytuje; třeba podtržítko: 's_pat/tern_replace/ment_'.

stativ avatar 9.4.2006 10:40 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Nezkousel jsem, podle toho co pisete tak jsem to asi tehdy v tom navodu ze kteryho jsem se sed ucil nepochopil :-( Predpokladal jsem ze _ jde pouzit jako zacatek escape sekvence. Jdu se zastrelit :-)
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
8.4.2006 19:20 vice | skóre: 21
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed sice nemam v malicku, ale evidentne je problem v /.

Ve vi jde misto lomitka pouzit cokoli, mozna to jde i tam, takze napr.:

s-< /br >-< br/ >

Pokud ne, zkus \/.

Není důležité co se stane, ale jak se to vysvětlí.
stativ avatar 8.4.2006 19:23 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli se nepletu, tak by to melo byt sed -i 's/<\/br>/<br\/ >/g' kontakty.php
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
8.4.2006 19:27 georgo23 | skóre: 26 | blog: instalace_vmwaru | Karviná
Rozbalit Rozbalit vše Re: sed nahrazeni vyrazu
dekuji
jen se učím jak se to naučit .... ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.