sed выдает ошибку "Недопустимая последовательность байтов" при попытке заменить символ
Я использую "Терминал" в 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 ответ
Вам нужно добавить -i вместе с двумя пустыми ''. Так это будет выглядеть так:sed -i '' 's/a//g' filename.txt
Объяснение заключается в том, что -i равно на месте (сохраните его обратно в исходный файл)