Почему 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
Мне нужно использовать второй метод, но он жалуется на отсутствие обратной ссылки. Это работает в первом методе, поэтому я ломаю голову над тем, что я должен делать по-другому.