GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo extraigo una sola porción de bytes de un archivo?

Esta es una pregunta antigua, pero me gustaría agregar otra versión del dd comando que es más adecuado para grandes porciones de bytes:

dd if=input.binary of=output.binary skip=$offset count=$bytes iflag=skip_bytes,count_bytes

donde $offset y $bytes son números en unidades de bytes.

La diferencia con la respuesta aceptada de Thomas es que bs=1 no aparece aquí. bs=1 establece el tamaño del bloque de entrada y salida en 1 byte, lo que lo hace terriblemente lento cuando la cantidad de bytes para extraer es grande.

Esto significa que dejamos el tamaño del bloque (bs ) en su valor predeterminado de 512 bytes. Usando iflag=skip_bytes,count_bytes , le decimos dd para tratar los valores después de skip y count como cantidad de bytes en lugar de cantidad de bloque.


head -c + tail -c

No estoy seguro de cómo se compara con dd en eficiencia, pero es divertido:

printf "123456789" | tail -c+2 | head -c3

elige 3 bytes, empezando por el 2º:

234

Véase también:

  • Cómo obtener un fragmento arbitrario de un archivo en Unix/Linux
  • Manual para la cabeza
  • Manual de cola

Prueba dd :

dd skip=102567 count=253 if=input.binary of=output.binary bs=1

La opción bs=1 establece el tamaño del bloque, haciendo dd leer y escribir un byte a la vez. El tamaño de bloque predeterminado es de 512 bytes.

El valor de bs también afecta el comportamiento de skip y count ya que los números en skip y count son los números de bloques que dd saltará y leerá/escribirá, respectivamente.


Linux
  1. ¿Cómo extraer un solo atributo de un archivo Xml?

  2. Cómo extraer o descomprimir el archivo tar.xz en Linux

  3. Cómo extraer subtítulos de películas MP4 y MKV

  4. extraer un solo archivo de un archivo tgz enorme

  5. ¿Cómo extraer un archivo .dmg en Linux?

Cómo extraer (descomprimir) el archivo Tar Bz2

Cómo extraer (descomprimir) el archivo tar.xz

Cómo acceder al shell o ejecutar comandos externos desde dentro de Vim

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo extraer un archivo RAR en Ubuntu