Я использую sed в сценарии оболочки для редактирования имен файловых систем. Предположим, я хочу заменить:
С:
Однако команда 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'
Что я могу сделать?