【发布时间】:2012-08-18 04:45:15
【问题描述】:
我需要用空格替换一些自动生成的文件中的一些非文本字符。 虽然它们是文本文件,处理后添加了一些字符,不能再作为文本编辑了
有没有 sed 命令可以做到这一点?
【问题讨论】:
标签: search replace sed binary hex
我需要用空格替换一些自动生成的文件中的一些非文本字符。 虽然它们是文本文件,处理后添加了一些字符,不能再作为文本编辑了
有没有 sed 命令可以做到这一点?
【问题讨论】:
标签: search replace sed binary hex
根据您的平台和sed 版本,您可能会也可能无法执行s/[\000-\037]/ /g 之类的操作;但便携和简单的替代方案是这样的:
tr '\000-\037' ' ' <input >output
(所有字符代码都是“二进制”;我假设您的意思是控制字符,但如果您的意思是 8 位字符 \200-\377 或其他什么,调整范围显然是微不足道的。)
【讨论】:
\200-\377 八进制。在不知道更多的情况下无法真正推测原因,但听起来不像是 UTF-8 问题,不是。
tr -c '[:print:]\n' ' '