2013-03-21 13 views
16

seguente Convert decimal to hexadecimal in UNIX shell scriptCome stampare solo i valori esadecimali da hexdump senza numeri di riga o tabella ASCII?

sto cercando di stampare solo la hex values da hexdump, vale a dire non stampare i numeri e le linee della tabella ASCII.

Ma la seguente riga di comando non stampa nulla:

hexdump -n 50 -Cs 10 file.bin | awk '{for(i=NF-17; i>2; --i) print $i}' 
+0

età non è il fattore principale, ma piuttosto upvotes e rispondere alla qualità ;-) http://meta.stackoverflow.com/questions/251938/should-i-flag-a-question-as-duplicate-if-it- ha-ricevuto-migliori-risposte –

+0

hexdump file.bin | sed "s/[^] * // 1" Questo rimuoverà i numeri di linea, di default la tabella ascii non verrebbe stampata. – Owl

risposta

25

È possibile specificare il formato esatto che si desidera hexdump da usare per l'uscita, ma è un po 'complicato. Ecco l'output di default, meno gli offset di file:

hexdump -e '16/1 "%02x " "\n"' file.bin 

(a me, sembra che questo produrrebbe uno spazio finale extra alla fine di ogni riga, ma per qualche ragione non è così.)

+0

Great !! Utile per me questa risposta! Ma penso sia meglio anche avere l'opzione '-C'. E se aggiungete 'cut -c 9- | head -n 1' il tuo output mostrerà solo i numeri esadecimali. – Kyrol

3

Prima di tutto, rimuovere -C che emette le informazioni ASCII.

allora si potrebbe eliminare l'offset con

hexdump -n 50 -s 10 file.bin | cut -c 9- 
+0

sembra funzionare ma cambia l'endian ... – 0x90

17

In alternativa, è possibile utilizzare xxd -p file.bin.

36

Utilizzando xxd è migliore per questo lavoro:

xxd -p -l 50 -seek 10 file.bin 

Da man xxd:

-p | -ps | -postscript | -plain 
    output in postscript continuous hexdump style. Also known as plain hexdump style. 

-l len | -len len 
    stop after writing <len> octets. 
+1

Sì! Dovrebbe essere il commento più importante. Questo è lo strumento corretto per il lavoro, non hexdump. – andsens

+1

@andsens 'hexdump' è in busybox e quindi disponibile su embedded, mentre' xxd' no: Ь –

Problemi correlati