Когда /
появляется как часть текста, будь то в регулярном выражении или замене, используйте символ, отличный от /
в обозначении s///
(я выбрал |
, но вы можете использовать любой символ, который нене появляются в регулярном выражении или замене; управляющий символ, такой как Control-A , часто может быть эффективным и безопасным):
sed command sed -i 's|name=src\.|name=WebUi/|g' coverage.xml
Обратите внимание, что опция -i
написана таким образомработает только с GNU sed
;с BSD или macOS sed
вам потребуется -i ''
.Использование -i.bak
одинаково работает с обоими, но оставляет файл резервной копии, который должен быть удален.
Меня всегда беспокоит, когда я вижу, что люди с испорченными сценариями sed
делают изменения на месте.Вам не следует думать об использовании опции -i
, пока вы не уверены, что скрипт работает.
При рассмотрении я удивляюсь, что оригинальный 's/name=src\./name=WebUi\//g'
не работал - обратная косая чертадо того, как слеш должен был быть правильным.