假设有一个名为
example_file
的文件,我们假设它是二进制文件。
我想用相应的空字节序列(
example_str
)替换其中出现的所有字符串\0
,以便出现的每个字符都被空字节替换。 (明确指定 \0\0\0\0\0\0\0\0\0\0\0
不是一个选项,因为(1)它不方便,(2)我想对不同的字符串多次使用此命令)
是否有
bash
命令可以实现此目的?我希望它尽可能简洁明了。
使用 GNU sed:
$ printf 'foo\0foo\0' | hexdump -C
00000000 66 6f 6f 00 66 6f 6f 00 |foo.foo.|
00000008
$ printf 'foo\0foo\0' | sed 's/foo/\x00\x00\x00/g' | hexdump -C
00000000 00 00 00 00 00 00 00 00 |........|
00000008