Puoi usare dd per estrarre blocchi arbitrari di byte.
Ad esempio,
dd skip=1234 count=5 bs=1
copierebbe i byte da 1235 a 1239 dall'input all'output e scarterebbe il resto.
Per ottenere solo i primi cinque byte dall'input standard, esegui:
dd count=5 bs=1
Nota che, se vuoi specificare il nome del file di input, dd ha un'analisi degli argomenti vecchio stile, quindi dovresti fare:
dd count=5 bs=1 if=filename
Nota anche che dd annuncia verbosamente quello che ha fatto, quindi per buttarlo via, fai:
dd count=5 bs=1 2>&-
o
dd count=5 bs=1 2>/dev/null
head
funziona anche:
head -c 100 file # returns the first 100 bytes in the file
.. estrarrà i primi 100 byte e li restituirà.
Cosa c'è di bello nell'usare head
per questo è quella la sintassi per tail
corrisponde:
tail -c 100 file # returns the last 100 bytes in the file
Puoi combinarli per ottenere intervalli di byte. Ad esempio, per ottenere il secondo 100 byte da un file, leggi i primi 200 con head
e usa tail per ottenere gli ultimi 100:
head -c 200 file | tail -c 100