una - ver las ultimas lineas de un archivo linux
¿Cómo extraigo un solo fragmento de bytes de un archivo? (4)
El comando dd puede hacer todo esto. Mire los parámetros de búsqueda u omisión como parte de la llamada.
En un escritorio Linux (RHEL4), quiero extraer un rango de bytes (generalmente menos de 1000) dentro de un archivo grande (> 1 Gig). Sé el desplazamiento en el archivo y el tamaño del fragmento.
Puedo escribir código para hacer esto, pero ¿hay una solución de línea de comando?
Idealmente, algo como:
magicprogram --offset 102567 --size 253 < input.binary > output.binary
Esta es una vieja pregunta, pero me gustaría agregar otra versión del comando dd
que sea más adecuada 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
produce el tamaño del bloque de entrada y salida para ser de 1 byte, lo que lo hace terriblemente lento cuando el número de bytes para extraer es grande.
Prueba dd
:
dd skip=102567 count=253 if=input.binary of=output.binary bs=1
head
+ tail
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, comenzando en el 2º:
234
Ver también: https://.com/a/1272995/895245