Я использую «Терминал» в Mac OS X 10.10 (Yosemite) и пытаюсь удалить все вхождения a из файла, используя sed:

sed 's/a//g' file

Что дает мне следующую ошибку:

sed: RE error: illegal byte sequence

sed 's/a//' file работает без проблем. Ошибка появляется, когда я добавляю модификатор g к регулярному выражению.

1 ответ1

0

Вам нужно добавить -i вместе с двумя пустыми ''. Так это будет выглядеть так:sed -i '' 's/a//g' filename.txt

Объяснение заключается в том, что -i равен на месте (сохраните его обратно в исходный файл)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .