যে জন্য ডেডিকেটেড টুল আছে: paste। এটি প্রথম ফাইল থেকে প্রতিটি ফাইলের সাথে দ্বিতীয় ফাইল থেকে সংশ্লিষ্ট লাইনটি সংযুক্ত করে; আপনি অযাচিত কলামগুলি এর আগে বা পরে অপসারণ করতে পারেন। উদাহরণস্বরূপ, ধরে নিলেন যে আপনার কলামগুলি ট্যাব-বিস্মৃত হয়েছে:
paste file1.txt file2.txt | cut -f 1,2,3,6
Ksh / bash / zsh প্রক্রিয়া বিকল্পের উপর নির্ভর করে উভয় ফাইলকে প্রাক-ফিল্টার করার একটি উপায় এখানে।
paste <(<file1.txt sed 's/[[:space:]][[:space:]]*[^[:space:]]*$//') \
<(<file1.txt sed 's/^[^[:space:]]*[[:space:]][[:space:]]*//')
আওকটি প্রাথমিকভাবে একবারে একটি ফাইল প্রক্রিয়াকরণ করার জন্য প্রস্তুত, তবে আপনি getlineসমান্তরালে অন্য ফাইল থেকে পড়তে কল করতে পারেন।
awk '
BEGIN {file2=ARGV[2]; ARGV[2]="";}
{$0 = $0 ORS getline(); print $1, $2, $3, $6;}
' file1.txt file2.txt
এখন পর্যন্ত আমি ধরে নিয়েছি যে আপনি ফাইল 1 এর লাইন 1 সাথে ফাইল 2 এর লাইন 1, ফাইল 2 এর 2 লাইন 2 এর সাথে 2 ফাইলটি 2 এর লাইন 2 এর সাথে মিল করতে চান, যদি আপনি কোনও কলামের বিষয়বস্তু মেলাতে চান তবে এটি একটি সম্পূর্ণ ভিন্ন বিষয়। joinআপনি যে কলামটি মেলাতে চান তা বাছাই করা হয়েছে এমন কাজটি করবে।
pr -m -t -s\ File1.txt File2.txt | gawk '{print $1,$2,$3, $6}' > File3.txt