Portál AbcLinuxu, 12. května 2025 06:56
sed 's/< /br >/< br/ >g' kontakty.phptoto nefunguje (mezery jsou schvalne).
g
' na konci.
s/tohle/tamto/g
, ale třeba sDtohleDtamtoDg
s:$ROOT:/:g
.
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.
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_
'.
/
.
Ve vi
jde misto lomitka pouzit cokoli, mozna to jde i tam, takze napr.:
s-< /br >-< br/ >
Pokud ne, zkus \/
.
sed -i 's/<\/br>/<br\/ >/g' kontakty.php
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.