对于特定版本的 sed,建议的解决方案可能会失败,例如 GNU sed 4.2.1。
使用tr
:
tr -cd '[:print:]' < yourfile.txt
这将删除任何不在[\x20-\x7e]
.
如果你想保留例如换行符,只需添加\n
:
tr -cd '[:print:]\n' < yourfile.txt
如果您真的想保留所有ASCII 字符(甚至是控制代码):
tr -cd '[:print:][:cntrl:]' < yourfile.txt
这将删除任何不在[\x00-\x7f]
.