我想将x'00到x'40'中的十六进制字符系列替换为我文件中的空格。 我不想为每一个写一个sed -e的/ \ x00 // g'..有没有更有效的方法呢?
答案 0 :(得分:3)
这可能会为您完成,具体取决于您的环境和sed版本。 (它避免搞乱标签,但没有理由避免空间,因为你只是用另一个空格替换它。)
LANG='' sed 's/[\x00-\x08\x0A-\x40]/ /g'
这会在sed命令的持续时间内清除LANG。例如,如果你的环境是UTF8,这可以解决一些问题。
答案 1 :(得分:0)
使用tr
代替sed
。首先,您必须将字符代码从十六进制转换为八进制。假设你想要0到77八进制。这就是:
tr '\0-\77' ' ' < your-input-file
答案 2 :(得分:0)
这样:
.htaccess
或粗糙:
LC_ALL=C sed 's/[\x00-\x40]/ /g'
测试:
(LC_ALL=C; sed 's/[\x00-\x40]/ /g')