Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: vesterna12 18. 03. 2023, 09:55:43
-
Zdravím,
jak správně zapsat v sedu výraz pro substituci řetězce, který v libovolné pozici může obsahovat '&'?
Jde o část skriptu, které není předem známo co bude čím nahrazovat.
Nový řetězec může obsahovat také znak &.
-
A v čem konkrétně ti to nefunguje?
Na levé straně substituce nemá ampersand speciální význam, na pravé straně musí být "oescapován".
$ echo "a&b&c" | sed "s/a&/bar\&bar/"
bar&barb&c
-
Pokud je vstupem dávka tak tam předem není skriptu známo na jaké pozici se znak nachází
-
Z toho porád není jasné, co potřebuješ tím sed-em dosáhnout.
Chceš nahradit libovolný řetězec obsahující & (na libovolné pozici) za něco jiného?
-
@vesterna12: daj sem nejaky priklad co je na vstupe a co ocakavas na vystupe
-
$ echo "&xy x&y xy& x & y" | sed "s/\S*&\S*/NAHRADA_ZA_\&/g"
nahradi
&xy x&y xy& x & y
za
NAHRADA_ZA_& NAHRADA_ZA_& NAHRADA_ZA_& x NAHRADA_ZA_& y