কেবলমাত্র cat
(যদি আপনি বিড়ালদের পছন্দ করেন ;-)) এবং paste
:
cat file.in | paste -d, - - > file.out
ব্যাখ্যা: paste
বেশ কয়েকটি ফাইল থেকে পড়া এবং সংশ্লিষ্ট লাইনগুলি একসাথে আটকানো (দ্বিতীয় ফাইলের লাইন 1 সহ প্রথম ফাইলের লাইন 1):
paste file1 file2 ...
ফাইলের নামের পরিবর্তে আমরা -
(ড্যাশ) ব্যবহার করতে পারি । paste
ফাইল 1 (যা স্টিডিন) থেকে প্রথম লাইন নেয়। তারপরে, এটি ফাইল 2 থেকে প্রথম লাইনটি পড়তে চায় (এটি স্ট্যান্ডিনও)। তবে যেহেতু স্টিডিনের প্রথম লাইনটি ইতিমধ্যে পড়া এবং প্রক্রিয়াজাত করা হয়েছিল, এখন ইনপুট স্ট্রিমের জন্য অপেক্ষা করা হচ্ছে স্টিডিনের দ্বিতীয় লাইন, যা paste
খুশিতে প্রথমটিতে প্রবেশ করেছে। -d
বিকল্প বিভেদক একটি ট্যাব একটি কমা বদলে হতে সেট করে।
বিকল্পভাবে, না
cat file.in | sed "N;s/\n/,/" > file.out
পিএস হ্যাঁ, উপরেরটি কেউ সহজ করতে পারেন
< file.in sed "N;s/\n/,/" > file.out
অথবা
< file.in paste -d, - - > file.out
যার ব্যবহার না করার সুবিধা রয়েছে cat
।
যাইহোক, আমি এই প্রতিমাটি উদ্দেশ্য হিসাবে ব্যবহার করি নি , স্পষ্টতার কারণে - এটি কম ভার্বোস এবং আমি পছন্দ করি cat
(ক্যাটস আর নিস)। সুতরাং দয়া করে সম্পাদনা করবেন না।
বিকল্পভাবে, আপনি যদি বিড়ালদের কাছে পেস্ট পছন্দ করেন (পেস্ট হ'ল অনুভূমিকভাবে ফাইলগুলি সংশ্লেষ করার আদেশ, তবে বিড়ালটি উল্লম্বভাবে তাদেরকে সম্মিলিত করে) আপনি ব্যবহার করতে পারেন:
paste file.in | paste -d, - -