কমা-আলাদা সারি 1 কলামে চালু করুন


3

আমার ব্যবহারকারীদের মূলত / etc / group, ID থেকে একটি তালিকা রয়েছে যা মূলত সেই কলামটিকে এক কলামে বিন্যাস করে, আমি কেবল ব্যবহারকারীদের প্রয়োজন। সুতরাং যদি একটি ক্ষেত্র এই মত দেখায়:

bob,john,jane,sam,joyce

তারপর আমি এটা দেখতে চাই

bob
john
jane
sam
joyce

আমি বিপরীত কিন্তু কিভাবে জানি না জানি।

উত্তর:


4

আপনি sed সঙ্গে এই করতে পারেন:

sed 's/,/\n/g'

এই সব ঘটনার প্রতিস্থাপন , একটি নতুন লাইন দিয়ে। g শুধুমাত্র প্রথম পরিবর্তে একটি লাইন সব ঘটনা প্রতিস্থাপন করে তোলে।


ঠিক আছে এই কাজ। কিন্তু আমার যদি সারিগুলির একটি তালিকা থাকে যেমন: group1:x:500:bob,john,jane,sam,joyce group2:x:501:jim,sean,fred,will,thomas কিভাবে আমি গ্রুপের মধ্যে কিছু বিরতি সঙ্গে তাদের ফর্ম্যাট পেতে পারেন?
unixpipe

আপনি কি আউটপুট আশা করেন?
user2313067

আপনি চেন দুই সিডি কল করতে পারেন, এক যা শেষ পর্যন্ত এবং শেষ কলোন সহ সবকিছু, এবং দ্বিতীয় উত্তর হিসাবে উত্তর।
hayavuk

0

আপনি একটি অনুসন্ধান এবং প্রতিস্থাপন সঙ্গে এই কাজ করতে পারে vim:

:%s/,/\r/g

দেখ এই প্রশ্ন ...


আমি একটি স্ক্রিপ্ট এই ব্যবহার করতে হবে তাই আমি ভিম এটি করতে পারে না
unixpipe

কোন সাহায্য দয়া করে
unixpipe

0

কয়েকটি বিকল্প:

TR :

tr ',' '\n' < [input file] > [output file]

tr হল এমন একটি সরঞ্জাম যা তার আদর্শ ইনপুট ফিল্টার করে এবং দ্বিতীয় উপাদান থেকে মিলিত এক সাথে তার প্রথম যুক্তি থেকে একটি চরিত্রের প্রতিটি ঘটনার প্রতিস্থাপন করে, তারপর প্রিন্টগুলিকে মানক প্রিন্ট আউট করে।

তেজ / প্রাক্তন (এটি একটি স্ক্রিপ্টে কাজ করবে):

vim -c "%s/,/\r/g" -c "wq" [input file]

-C বিকল্প নিম্নলিখিত চালানোর জন্য ভিম বলে ex কমান্ড (আপনি পরে টাইপ হবে কি হিসাবে একই : সাধারণত vim ব্যবহার করার সময়)।

এবং কেউ ইতিমধ্যে sed ​​আমাকে বীট।


0

আপনার প্রস্তাবিত ট্যাগ ব্যবহার করে উত্তর দিতে:

ব্যাশ:

$ IFS=, read -a names <<< "bob,john,jane,sam,joyce"
$ printf "%s\n" "${names[@]}"
bob
john
jane
sam
joyce

awk:

$ echo "bob,john,jane,sam,joyce" | awk -F, -v OFS="\n" '{$1=$1; print}'
bob
john
jane
sam
joyce

দ্য $1=$1 বিট একটি বিরাট idiom আউটপুট ফিল্ড বিভাজক ব্যবহার করে বর্তমান রেকর্ড পুনর্লিখন করতে, কিছু ক্ষেত্র সংশোধন করা হয় না, যা ঘটবে না।


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