Почему sed имеет различное поведение в зависимости от метода ввода?

В Mac OS 10.9 у меня есть файл test.txt:

_static
_images

запуск команды

cat test.txt | sed -E -e "s/(_static|_images)/foo\1/g"

имеет ожидаемый результат

foo_static
foo_images

но запустив команду для редактирования файла на месте:

sed -i -E -e "s/(_static|_images)/foo\1/g" test.txt

дает мне

sed: 1: "s/(_static|_images)/foo ...": \1 not defined in the RE

Мне нужно использовать второй метод, но он жалуется на отсутствие обратной ссылки. Это работает в первом методе, поэтому я ломаю голову над тем, что я должен делать по-другому.

0 ответов

Другие вопросы по тегам