लाइन ब्रेक के बिना XXD आउटपुट


13

क्या मैं बता सकता हूं कि xxdइसके आउटपुट में कोई भी लाइन ब्रेक नहीं लगा होगा और मेरी डंप एक निरंतर लाइन के रूप में होगी?

[user@localhost] : ~ $ echo -n "this is a long line and xxd is going to take multiple lines to print it" | xxd -p
746869732069732061206c6f6e67206c696e6520616e6420787864206973
20676f696e6720746f2074616b65206d756c7469706c65206c696e657320
746f207072696e74206974

5
आप बस trनई ... | xxd -p | tr -d \\n
लाइनों

यह इस बात पर निर्भर करता है कि आपको इसके लिए क्या चाहिए, लेकिन इसका एक आसान विकल्प xxdयह है कि यह -rअपने पोस्टस्क्रिप्ट / सादे -pडंप (या उस मामले के लिए किसी भी सादे हेक्सडंप) के रिवर्स के लिए व्हाट्सएप की उपेक्षा करता है। जैसे। निम्न पंक्ति के साथ लपेटता है \n, लेकिन उलटा आउटपुट वास्तव में वही था जो इनपुट था: echo {1..14} | xxd -p | xxd -p -rआउटपुट का उत्पादन करता है: 1 2 3 4 5 6 7 8 9 10 11 12 13 14\n - \nसे हैecho
पीटर।

1
तुम भी उपयोग कर सकते हैं hexdump -v -e '/1 "%02X"'के बजाय xxd
dirkt

जवाबों:


15

क्या आप की जरूरत है -c विकल्प।

# echo -n "this is a long line and xxd will print it as one line" | xxd -p -c 1000000

746869732069732061206c6f6e67206c696e6520616e64207878642077696c6c207072696e74206974206173206f6e65206c696e65

यहाँ प्रलेखन से कुछ जानकारी है :

-सी कोल | -cols cols प्रारूप ऑक्टेट प्रति पंक्ति। डिफ़ॉल्ट 16 (-i: 12, -ps: 30, -b: 6)। अधिकतम 256।

दस्तावेज़ीकरण कहता है कि "सी" पैरामीटर के लिए अधिकतम मूल्य 256 है, लेकिन मैंने अधिक मूल्यों की कोशिश की और यह काम किया। इसकी जांच - पड़ताल करें:

# xxd -c 1000000 -p -l 1000000 /dev/urandom | wc -c
2000001

यहाँ मैं / dev / यादृच्छिक से एक मिलियन बाइट्स डंप करता हूं और मुझे 2 मिलियन + 1 वर्णों की एक स्ट्रिंग मिलती है। प्रत्येक बाइट / देव / रैंडम का प्रतिनिधित्व 2 वर्णों द्वारा किया जाता है और अतिरिक्त बाइट अंतिम न्यूलाइन है।

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