我正在尝试操作一个文本文件,从中删除非ASCII字符。我不想删除行,只想删除有问题的字符。我正在尝试让以下表达式起作用:sed '/[\x80-\xFF]/d'。
tr
:tr -cd '[:print:]' < yourfile.txt
这将删除除 [\x20-\x7e]
以外的任何字符。
如果您想保留例如换行符,则只需添加 \n
:
tr -cd '[:print:]\n' < yourfile.txt
tr -cd '[:print:][:cntrl:]' < yourfile.txt
[\x00-\x7f]
范围内的任何字符。tr -cd'\11\12\15\40-\176'
不同,后者在 Meld 中可以使用(至少对于我的文件)[参考](http://alvinalexander.com/blog/post/linux-unix/how-remove-non-printable-ascii-characters-file-unix)。 - Aquarius Power