Cómo capturar un fragmento arbitrario de un archivo en unix / linux [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo extraigo un solo fragmento de bytes desde un archivo? 4 respuestas

Estoy tratando de copiar un fragmento de un archivo binario en un nuevo archivo. Tengo el desplazamiento de bytes y la longitud del fragmento que quiero agarrar.

He intentado usar eldd utilidad, pero esto parece leer y descartar los datos hasta el desplazamiento, en lugar de solo buscarlos (supongo que porque dd es para copiar / convertir bloques de datos). Esto lo hace bastante lento (y más lento cuanto más alto es el desplazamiento. Este es el comando que probé:

dd if=inputfile ibs=1 skip=$offset count=$datalength of=outputfile

Supongo que podría escribir un pequeño script Perl / python / any para abrir el archivo, buscar el desplazamiento, luego leer y escribir la cantidad necesaria de datos en trozos.

¿Hay alguna utilidad que soporte algo como esto?

Respuestas a la pregunta(6)

Su respuesta a la pregunta