sed szukaj i zamień ciągi zawierające / [duplikat]
To pytanie ma już tutaj odpowiedź:
Jak używać różnych ograniczników dla polecenia zastępczego sed? 1 odpowiedźMam problem z ustaleniem, jak używaćsed
wyszukiwać i zamieniać ciągi zawierające/
znak w pliku tekstowym/etc/myconfig
.
Na przykład w moim istniejącym pliku tekstowym mam:
<code>myparam /path/to/a argB=/path/to/B xo </code>
i chcę, aby zostało to zastąpione przez:
<code>myparam /path/to/c argB=/path/to/D xo </code>
Próbowałem to zrobić w bash:
<code>line='myparam /path/to/a argB=/path/to/B xo' line_new='myparam /path/to/c argB=/path/to/D xo' sed -i 's/$line/$line_new/g' /etc/myconfig </code>
Ale nic się nie dzieje.
Próba
<code>grep -rn "$line" /etc/myconfig </code>
zwraca mnie'myparam /path/to/a argB=/path/to/B xo'
chociaż.
Jaki jest właściwy sposób wyrażania mojegosed
polecenie, aby wykonać to wyszukiwanie i zastąpić i poprawnie zająć się/
dowództwo? (Myślę, że/
postać w moich łańcuchach to te, które dają mi problem, ponieważ użyłem podobnegosed
polecenie do wyszukania i zastąpienia innej linii w pliku tekstowym bez żadnych problemów i ta linia nie ma/
postać.