Vous pouvez utiliser dd pour extraire des morceaux arbitraires d'octets.
Par exemple,
dd skip=1234 count=5 bs=1
copierait les octets 1235 à 1239 de son entrée vers sa sortie et supprimerait le reste.
Pour obtenir uniquement les cinq premiers octets de l'entrée standard, procédez comme suit :
dd count=5 bs=1
Notez que, si vous souhaitez spécifier le nom du fichier d'entrée, dd a une analyse d'argument à l'ancienne, vous feriez donc :
dd count=5 bs=1 if=filename
Notez également que dd annonce verbalement ce qu'il a fait, donc pour jeter ça, faites :
dd count=5 bs=1 2>&-
ou
dd count=5 bs=1 2>/dev/null
head
fonctionne aussi :
head -c 100 file # returns the first 100 bytes in the file
..va extraire les 100 premiers octets et les retourner.
Ce qui est bien d'utiliser head
car c'est que la syntaxe pour tail
correspond :
tail -c 100 file # returns the last 100 bytes in the file
Vous pouvez les combiner pour obtenir des plages d'octets. Par exemple, pour obtenir la seconde 100 octets d'un fichier, lire les 200 premiers avec head
et utilisez tail pour obtenir les 100 derniers :
head -c 200 file | tail -c 100