有一个文件,比如说example_file,二进制文件。
我想将其中所有出现的字符串替换example_str为相应的零字节序列(\0),也就是说,出现的每个字符都被零字节替换。(指定\0\0\0\0\0\0\0\0\0\0\0这不是一个选项,因为(1)它很不方便,(2)我想对不同的线路多次使用此命令)
什么bash命令可以做到这一点?我希望它尽可能简短。
有一个文件,比如说example_file,二进制文件。
我想将其中所有出现的字符串替换example_str为相应的零字节序列(\0),也就是说,出现的每个字符都被零字节替换。(指定\0\0\0\0\0\0\0\0\0\0\0这不是一个选项,因为(1)它很不方便,(2)我想对不同的线路多次使用此命令)
什么bash命令可以做到这一点?我希望它尽可能简短。
1.我找到了这个解决方案:
这是相同的代码,但采用更易读的形式:
由于文件是二进制文件,因此使用行
b前的字符example_str。unicode如果-string 符合条件,则这可能不是必需的。2.还在该网站的英文版上,他们向我建议了另一个解决方案:
或者,简而言之:
如果
example_str包含特殊字符,则需要在代码中进行设置,例如字符串\0\1\2:对于包含特殊字符但不包含空字符(代码 0)的字符串,您可以使用
printf:使用
sed:要更改文件,请添加 sed key
-i。注释后添加,取如下文件:
让我们尝试将所有“测试”更改为: