Solución 1:
El DareDevil de los comandos Unix, dd
al rescate!
dd if=yourfile ibs=1 skip=200 count=100
Eso comenzaría desde el byte 200 y mostraría 100 bytes siguientes, o en otras palabras, bytes 200-300. ibs
significa que dd solo lee un byte a la vez en lugar de los 512 bytes predeterminados, pero aún escribe en fragmentos predeterminados de 512 bytes. Ve y mira si ibs
perjudica el rendimiento, espero que no.
Solución 2:
Si su interés está en los bytes, sería od
ser de más interés.
-j, --skip-bytes=bytes
-N, --read-bytes=bytes
Entonces, para leer los 16 bytes a partir del byte 1024 y generarlos en ascii
od -j 1024 -N 16 -a /bin/sh
Solución 3:
Puedes usar dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(posiblemente con bs=1
para obtener bloques de un byte, de lo contrario usa bloques de 512 bytes). Sin embargo, no estoy seguro de cuán eficiente es decirle que escriba un byte a la vez.