我想使用 Linux shell(bash、zsh 等)将一组已知字节插入到文件的某个位置。 Similar questions已被要求,但他们就地修改文件的字节。这些问题不涉及在特定位置插入新字节。
例如,如果我的文件具有类似于 \x32\x33\x35
的字节序列,我可能希望在位置 2 处插入 \x34
,以便该字节序列文件中的内容变为 \x32\x33\x34\x35
。
最佳答案
您可以结合使用 head
、tail
和 printf
来实现此目的。例如;在文件
中的位置2处插入\x34
:
{ head -c 2 file; printf '\x34'; tail -c +3 file; } > new_file
为了符合 POSIX 标准,可以使用 \064
(\x34
的八进制表示形式)。
要就地进行此更改,只需将 new_file
移动到 file
即可。
无论您使用哪种工具,此操作对于大文件都会花费大量 CPU 时间。
关于shell - 使用 shell 将字节插入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55821106/