2013-03-21 9 views
16

निम्नलिखित Convert decimal to hexadecimal in UNIX shell scriptपंक्ति संख्या या ASCII तालिका के बिना हेक्सडंप से हेक्स मानों को मुद्रित करने के लिए कैसे?

मैं केवल hex valueshexdump से मुद्रित करने के लिए है, यानी लाइनों संख्या और ASCII तालिका मुद्रित नहीं है कोशिश कर रहा हूँ।

लेकिन निम्न कमांड लाइन प्रिंट नहीं करता कुछ भी:

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

आयु प्राथमिक कारक नहीं है, बल्कि अपवॉट्स और उत्तर गुणवत्ता ;-) http://meta.stackoverflow.com/questions/251938/should-i-flag-a-question-as-duplicate-if-it- प्राप्त किया गया है-बेहतर उत्तर –

+0

hexdump file.bin | sed "s/[^] * // 1" यह पंक्ति संख्या को हटा देगा, डिफ़ॉल्ट रूप से ascii तालिका मुद्रित नहीं की जाएगी। – Owl

उत्तर

25

आप सटीक प्रारूप है कि आप hexdump उत्पादन के लिए उपयोग करना चाहते हैं निर्दिष्ट कर सकते हैं, लेकिन यह थोड़ा मुश्किल है। यहाँ डिफ़ॉल्ट उत्पादन है, शून्य से फ़ाइल ऑफसेट:

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

(मेरे लिए, ऐसा लगता है कि यह प्रत्येक पंक्ति के अंत में एक अतिरिक्त अनुगामी अंतरिक्ष का उत्पादन होता है, लेकिन किसी कारण से ऐसा नहीं होता।)

+0

ग्रेट !! मेरे लिए यह जवाब उपयोगी है! लेकिन मुझे लगता है कि '-C' विकल्प भी बेहतर है। और यदि आप 'कट-सी 9- | जोड़ते हैं हेड-एन 1' आपका आउटपुट केवल हेक्स नंबर प्रदर्शित करेगा। – Kyrol

3

पहले, हटाने -C जो ascii जानकारी उत्सर्जित करती है।

तो फिर तुम एक विकल्प के रूप ऑफसेट छोड़ सकता है

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

ऐसा लगता है लेकिन एंडियन बदलता है ... – 0x90

17

साथ, xxd -p file.bin उपयोग करने पर विचार।

36

xxd का उपयोग करते हुए इस काम के लिए बेहतर है:

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

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

हाँ! शीर्ष टिप्पणी होना चाहिए। नौकरी के लिए यह सही उपकरण है, हेक्सडम्प नहीं। – andsens

+1

@andsens 'hexdump' व्यस्त बॉक्स में है, और इस प्रकार एम्बेडेड पर उपलब्ध है, जबकि' xxd' नहीं है: § –

संबंधित मुद्दे