reemplazo de sed binario

Estaba intentando hacer unsed reemplazo en un archivo binario, sin embargo, estoy empezando a creer que no es posible. Esencialmente, lo que quería hacer era similar a lo siguiente:

sed -bi "s/\(\xFF\xD8[[:xdigit:]]\{1,\}\xFF\xD9\)/\1/" file.jpg

La lógica que deseo lograr es: escanear a través de un archivo binario hasta el código hexadecimalFFD8, sigue leyendo hastaFFD9, y solo guarda lo que había entre ellos (descarta la basura antes y después, pero incluyeFFD8 yFFD9 como la parte guardada del archivo)

¿Existe una forma correcta de hacer esto? Incluso si no usased?

EDITAR: Estaba jugando y encontré la manera más limpia de hacerlo en mi opinión. Soy consciente de que esta declaración grep actuará codicioso.

hexdump -ve '1/1 "%.2x"' dirty.jpg | grep -o "ffd8.*ffd9" | xxd -r -p > clean.jpg

Respuestas a la pregunta(4)

Su respuesta a la pregunta