Я пытаюсь удалить непечатаемый символ (например, ^@
) из записей в моем файле. Поскольку объем записей в файле слишком велик, использование cat не подходит, так как цикл занимает слишком много времени. я пытался использовать
sed -i 's/[^@a-zA-Z 0-9`~!@#$%^&*()_+\[\]\\{}|;'\'':",.\/<>?]//g' FILENAME
но все же символы ^@
не удаляются. Также я пытался использовать
awk '{ sub("[^a-zA-Z0-9\"!@#$%^&*|_\[](){}", ""); print } FILENAME > NEW FILE
но тоже не помогло.
Кто-нибудь может предложить альтернативный способ удаления непечатаемых символов?
Используется tr -cd
, но он удаляет символы с диакритическими знаками. Но они необходимы в файле.
emacs
. - person Erik Bennett   schedule 24.12.2015emacs
. Проверить, содержит ли файл многобайтовый символ - person Erik Bennett   schedule 24.12.2015