Я использую sed в сценарии оболочки для редактирования имен файловых систем. Предположим, я хочу заменить:
-
/foo/bar
С:
-
/baz/qux
Однако команда sed s///
использует косую черту /
в качестве ограничителя. Если я это сделаю, я вижу сообщение об ошибке, например:
▶ sed 's//foo/bar//baz/qux//' FILE
sed: 1: "s//foo/bar//baz/qux//": bad flag in substitute command: 'b'
Точно так же иногда я хочу выбрать линейные диапазоны, такие как линии между шаблоном foo/bar
и baz/qux
. Опять же, я не могу сделать это:
▶ sed '/foo/bar/,/baz/qux/d' FILE
sed: 1: "/foo/bar/,/baz/qux/d": undefined label 'ar/,/baz/qux/d'
Что я могу сделать?