আমি যে id
গ্রুপগুলির মধ্যে একজন সদস্য সেগুলির আরও পঠনযোগ্য লাইন-বাই-তালিকার তালিকা সরবরাহ করতে আউটপুটটি বিভক্ত করছি :
id roaima | sed 's/,/\n\t/g'
uid=1001(roaima) gid=1001(roaima) groups=1001(roaima)
24(cdrom)
25(floppy)
...
822413650 (international (uk) location)
আমি গ্রুপ নম্বরটি এর বন্ধনীযুক্ত নাম থেকে আলাদা করতে চেয়েছিলাম তাই আমি এই মতটি প্রকাশ করেছি
id roaima | sed -e 's/,/\n\t/g' -e '2,$s/(/ (/'
যাইহোক, এটি প্রাথমিকভাবে আমার প্রত্যাশা মতো কাজ করে নি। দ্বিতীয় প্রকাশটির কোনও প্রভাব নেই বলে মনে হয়েছিল।
পরিবর্তে, আমি যে ফলাফলটি চেয়েছিলাম তা পেতে, আমাকে দুটি পৃথক sed
কমান্ড চালানো দরকার :
id roaima | sed -e 's/,/\n\t/g' | sed '2,$s/(/ (/'
uid=1001(roaima) gid=1001(roaima) groups=1001(roaima)
24 (cdrom)
25 (floppy)
...
822413650 (international (uk) location)
কেন sed
পাইপটিতে একাধিক নির্দেশাবলীর চেয়ে দুটি কমান্ডের প্রয়োজন ? বা আমি যদি এটির সাথে এটি করতে পারি তবে আমি sed
কীভাবে এটি করব?
আমি বিশেষত যা চাই তা হ'ল প্রতিটি আইটেমের জন্য ইউআইডি / জিআইডি মান এবং এর বন্ধনীযুক্ত নামের (প্রথম লাইনে থাকা ইউআইডি এবং জিআইডি সহ) একক স্থান থাকতে পারে, তবে সতর্কতাইটি হ'ল আমার আসল তথ্যগুলিতে আমার গ্রুপ থাকতে পারে তাদের নামগুলিতে বন্ধনী রয়েছে এবং আমি নামগুলি নিজেরাই ম্যাঙ্গেল করতে চাই না।
-vRS=,
বা-054
সাহায্য করতে পারে।