使用ascii值替换文件中所有出现的不可打印字符

时间:2013-12-04 09:05:13

标签: file unix replace character non-printing-characters

我有一个文件myFile.xml 我想运行xmllint命令以进行正确的格式化。

它包含ASCII字符26(替换字符),因为xmllint命令失败并出现解析器错误。

如何在此文件中将所有出现的此字符替换为空白?

2 个答案:

答案 0 :(得分:1)

以下工作:

tr -cd '\11\12\15\40-\176' < file-with-binary-chars > clean-file

从这里提到:

ascii-control-characters

答案 1 :(得分:0)

如果您使用bash,请执行以下操作:

sed $'s/\x1a//g' < FILENAME | xmllint

这使用特殊的bash符号$'...',它告诉bash正确评估\x1a之类的反斜杠序列。