bsd sed替换文件中的十六进制值

bsd sed替换文件中的十六进制值,sed,hex,bsd,Sed,Hex,Bsd,使用gnused,我可以使用以下命令替换一些十六进制值 gsed的/*\xFF\xD8/\xFF\xD8/g”我的文件 我在OSX上,所以默认的sed是BSD。不幸的是,前面的命令在BSDsed中不起作用 你知道为什么要这样做吗?我想知道怎么做:删除文件中FFD8值之前的所有内容 处理该问题的最简单方法是使用bash的机制: sed $'s/.*\xFF\xD8/\xFF\xD8/g' myfile 请注意\xFF\xD8不是有效的UTF-8,因此您可能会遇到字符问题,但基本机制可以工作: $

使用gnused,我可以使用以下命令替换一些十六进制值

gsed的/*\xFF\xD8/\xFF\xD8/g”我的文件

我在OSX上,所以默认的
sed
是BSD。不幸的是,前面的命令在BSD
sed
中不起作用


你知道为什么要这样做吗?我想知道怎么做:删除文件中FFD8值之前的所有内容

处理该问题的最简单方法是使用
bash
的机制:

sed $'s/.*\xFF\xD8/\xFF\xD8/g' myfile
请注意\xFF\xD8不是有效的UTF-8,因此您可能会遇到字符问题,但基本机制可以工作:

$ echo sed $'s/.*\xFF\xD8/\xFF\xD8/g' | odx
0x0000: 73 65 64 20 73 2F 2E 2A FF D8 2F FF D8 2F 67 0A   sed s/.*../../g.
0x0010:
$
odx
是一个十六进制转储程序