Portál AbcLinuxu, 10. května 2025 19:23
sed '/#/!s/text/$VAR/'
ale samozřejmě se v tomto výrazu nenahrazuje obsah proměnné. Když zkusím
sed "/#/!s/text/$VAR/"
tak mi bash píše chybu
bash: !s/text/$VAR/": event not found"
Navíc proměnná obsahuje zpětná lomítka, takže bych potřeboval použít jiný delimiter než lomítko, a to nefunguje ani ve variantě s apostrofy. Jak na to?
Řešení dotazu:
sed -e "/#/! s/text/${VAR//\//\\/}/"
Jiný oddělovač by fungovat měl, např. pokud proměnná neobsahuje podtržítko, tak
sed -e "/#/! s_text_${VAR}_"
(v tomto případě jsou potřeba složené závorky, protože podtržítko může být součástí jména proměnné)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.