Я использую 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'
Что я могу сделать?