我正在尝试替换其中一个文件中的十六进制值。
但是,我不知道如何以正常形式将其写回来。我不确定以下是否是正确的方法。我正在将十六进制25更改为十六进制15。
文件example_2018-02-02-14-51-47_US.txt是UTF-8。
dequeue(&someQueue);
以下是我执行xxd时示例文件的结尾。我试图用十六进制15代替十六进制25:
cat example_2018-02-02-14-51-47_US.txt | sed 's/\x25\x15/ /g' | od -x > example_2018-02-02-14-51-47_US_Convert.txt
答案 0 :(得分:0)
编辑:现在问题反映了更改二进制文件,所以我相应地更改了答案:
我们可以直接使用\ x表示法替换二进制文件中的字节。我做了一个测试文件:
$ echo -ne "\xf0\xf0\xf3\xf5\xf8\x25" > binfile
$ cat binfile | xxd
00000000: f0f0 0c33 0c35 0c38 0c32 35 ...3.5.8.25
好的,我们只是通过sed
来管道它,它可以工作:
$ cat binfile | sed -e 's/\x25/\x15/g' > newbinfile
$ cat newbinfile | xxd
00000000: f0f0 f3f5 f815 ......
答案 1 :(得分:0)
这是我最终采用的方法。
tr '\045' '\025' < example_2018-02-02-14-51-47_US.txt > example_2018-02-02-14-51-47_US_replaced.txt