Solution 1 :
Le DareDevil des commandes Unix, dd
à la rescousse !
dd if=yourfile ibs=1 skip=200 count=100
Cela commencerait à partir de l'octet 200 et afficherait les 100 octets suivants, ou en d'autres termes, les octets 200-300. ibs
signifie que dd ne lit qu'un seul octet à la fois au lieu des 512 octets par défaut, mais écrit toujours dans des blocs de 512 octets par défaut. Allez voir si ibs
nuit à la performance, j'espère que non.
Solution 2 :
Si vous êtes intéressé par les octets, est-ce que od
être plus intéressant.
-j, --skip-bytes=bytes
-N, --read-bytes=bytes
Donc pour lire les 16 octets à partir de l'octet 1024, et sortir en ascii
od -j 1024 -N 16 -a /bin/sh
Solution 3 :
Vous pouvez utiliser dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(éventuellement avec bs=1
pour obtenir des blocs d'un octet, sinon il utilise des blocs de 512 octets). Je ne sais pas à quel point il est efficace de lui dire d'écrire un octet à la fois.