উত্তর:
$ sed 's/\(..\)/\1 /g' <<< '1234567890'
12 34 56 78 90
s/../& /g
এই কী ক্রমটি চেষ্টা করুন (সংখ্যাটির শুরু থেকে): q1lxPpr lq@1@1@1@1@1@1@1@1
(ইত্যাদি বা বলে, 20 @ 1)
মধ্যে vim
, তুমি ব্যবহার করতে পার :s/\([0-9a-f][0-9a-f]\)/\1 /g
আপনি কি করতে চান। এটি পরীক্ষা করার জন্য, আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:
dd bs=512 if=/dev/urandom count=2 2>/dev/null | xxd -p | tr -d '\n' | vim -
তারপর মধ্যে vim
, ব্যবহার করুন :s/\([0-9a-f][0-9a-f]\)/\1 /g
হেক্স অক্ষর প্রতিটি জোড়া পরে একটি স্থান যোগ করতে। এখানে একটি ছোট উদাহরণ:
$ dd bs=32 if=/dev/urandom count=1 2>/dev/null | xxd -p | tr -d '\n' | vim -
6aad5f800a739fadbc3e2312230daeca8055491577b0e0d75a37bb3777f0a3e0
:s/\([0-9a-f][0-9a-f]\)/\1 /g
6a ad 5f 80 0a 73 9f ad bc 3e 23 12 23 0d ae ca 80 55 49 15 77 b0 e0 d7 5a 37 bb 37 77 f0 a3 e0
:%s/\x\x/& /g
যথেষ্ট।
আপনি যদি কয়েকটি লাইন কাটাতে চান তবে আপনি এটি প্রয়োগ করতে পারেন :substitute
প্রথম।
:%s/\x\{16}/&\r/g
অথবা আপনি যদি এক-লিনিয়ার পছন্দ করেন (আমি নিশ্চিত নই এটি এখানে একটি ভাল সমাধান)
:%s/\x\{16}/\=substitute(submatch(0), '\x\x', '& ', 'g')."\n"/g