Sembra che il formato predefinito si ottiene in tal modo:
hexdump -e '"%07.7_Ax\n"' -e '"%07.7_ax " 8/2 "%04x " "\n"'
Da man hexdump
:
Implement the -x option:
"%07.7_Ax\n"
"%07.7_ax " 8/2 "%04x " "\n"
Se si vuole capire il formato hexdump
s', dovrete leggere il manuale, ma ecco una breve descrizione del formato precedente:
La prima parte %07.7_Ax\n
è la parte che visualizza l'ultima riga che contiene solo l'offset. Per il manuale:
_a[dox] Display the input offset, cumulative across input files, of the
next byte to be displayed. The appended characters d, o, and x
specify the display base as decimal, octal or hexadecimal
respectively.
_A[dox] Identical to the _a conversion string except that it is only
performed once, when all of the input data has been processed.
- Per la seconda: ora capiamo la parte
"%07.7_ax "
. Il 8/2
significa 8 iterazioni e 2 byte per quanto segue, e precisamente, "%04x "
. Infine, dopo questi, abbiamo una nuova riga: "\n"
.
Io non sono davvero sicuro di come si desidera che i 21 byte, forse questo avrebbe fatto:
hexdump -e '"%07.7_Ax\n"' -e '"%07.7_ax " 21/1 "%02x " "\n"'
e non si sa come sbarazzarsi della compensazione, se necessario:
hexdump -e '21/1 "%02x " "\n"'
fonte
2014-11-01 23:17:52
Puoi provare questo 'hexdump -e '21/1"% 02x "" \ n "'' –
@gniourf_gniourf funziona! grazie. –
Si prega di trovare una risposta che contenga anche informazioni sul formato predefinito. –