फ़ाइल के हेक्साडेसिमल में पहले 10 बाइट कैसे प्रिंट करें?


10

मुझे लिनक्स टकसाल कमांड प्रॉम्प्ट से हेक्साडेसिमल में फ़ाइल के पहले 10 बाइट्स प्रिंट करने की आवश्यकता है।

क्या कोई मेरी मदद कर सकता है?

धन्यवाद


जवाबों:


11

मैं यह सोचकर तीन उत्तर आया कि मेरे पास जोड़ने के लिए कुछ भी नहीं है, और यह एक अभ्यास होगा कि कितने लोग प्रश्न पूछने के पहले मिनट में एक ही 1-लाइनर को पोस्ट कर सकते हैं। लेकिन मुझे लगता है कि लोग कुछ नए-फंसे hexdumpटूल का उपयोग कर रहे हैं । यही कारण है कि आदेश है जिस तरह से लंबे समय तक 2 पत्र से; यह वन ट्रू बेस (बेस 8) के अलावा कुछ आधारों के लिए दृष्टिकोण करता है; और यह इसके नाम से स्पष्ट है कि यह क्या करता है। स्पष्ट रूप से यह यूनिक्स तरीका नहीं है।

तो यहाँ od("ऑक्टल डंप") का आनंद है।

पहला GNU, जैसा कि आप अपने लिनक्स टकसाल पर पाएंगे:

od --format=x1 --read-bytes=10 foo

अब बीएसडी, जहां विडंबना यह है कि यह वास्तव में एक ही कार्यक्रम है hexdump:

od -t x1 -N 10 foo

1
मैंने अपने दांतों को 8-बिट माइक्रोप्रोसेसर पर काट दिया, जहां हेक्स में सब कुछ किया गया था। तो मेरे लिए, एक सच्चा आधार 16 है। मैंने '84 के बाद से यूनिक्स का उपयोग किया है और एक बात जो मैंने हमेशा की है, हमेशा इसके बारे में नफरत है कि यह ऑक्टल के साथ इसका निर्धारण है: मैं ऑक्टल को इसके 3-बिट एन्कोडिंग के साथ नहीं खड़ा कर सकता हूं जो मूल रूप से एक से कई बाइट्स तक विस्तारित नहीं होगा। और सी और अन्य भाषाओं में ऑक्टेल पूर्णांक शाब्दिक एक ट्रेन-मलबे है जो आज भी कहर बरपाता है। (+1, वैसे)
एड्रियन प्रैंक

11

विकल्प -l len | -len lenइसके लिए है: <len>ऑक्टेट लिखने के बाद रुकें।

इसे इस तरह फाइल के साथ प्रयोग करें:

xxd -l 10 file

या

hexdump -C -n 10 file

जहां -n lenके रूप में ही है -lXXD से विकल्प।


5

आप ऐसा करने के xxdलिए उपयोग कर सकते हैं ।

$ xxd -ps -l 10 FILENAME
546865204d4954204c69

यह पहले 10 बाइट ( -l 10) को FILENAMEसादे हेक्स प्रारूप ( -ps) में प्रिंट करता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.