লাইন ব্রেক ছাড়াই 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

এখানে ডকুমেন্টেশন থেকে কিছু তথ্য দেওয়া হয়েছে :

-সি কলস | -ক্লস কলস বিন্যাস বিন্যাস প্রতি লাইন octets। ডিফল্ট 16 (-i: 12, -ps: 30, -বি: 6)। সর্বোচ্চ 256।

ডকুমেন্টেশন বলছে যে "সি" প্যারামিটারের সর্বাধিক মান 256, তবে আমি আরও বৃহত্তর মান চেষ্টা করেছি এবং এটি কার্যকর হয়েছে। এটা দেখ:

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

এখানে আমি / ডেভ / এলোমেলো থেকে এক মিলিয়ন বাইট ডাম্প করি এবং আমি 2 মিলিয়ন + 1 টি অক্ষরের স্ট্রিং পাই। / Dev / এলোমেলো থেকে প্রতিটি বাইট 2 টি অক্ষর দ্বারা প্রতিনিধিত্ব করা হয় এবং অতিরিক্ত বাইট চূড়ান্ত নিউলাইন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.