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:
myparam /path/to/a argB=/path/to/B xo
i chcę, aby zostało to zastąpione przez:
myparam /path/to/c argB=/path/to/D xo
Próbowałem to zrobić w bash:
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
Ale nic się nie dzieje.
Próba
grep -rn "$line" /etc/myconfig
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ć.