সারণীগুলি কীভাবে পাবেন যার নবম কলামে mth কলাম রয়েছে


9

আমার একটি সিএসভি ফাইলে এই জাতীয় ডোমেন এবং ওয়েবমেল রয়েছে:

site1.com,mail.site1.com
site2.com,testmail.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site5.com,foomail.com
site6.com,barmail.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site9.com,foobarmail.com
site10.com,mx-smtp222.site10.com

আমি সারিগুলি পেতে চাই যেখানে ওয়েবমেলস কলামে একই সারির ডোমেন কলাম থাকে। উপরের উদাহরণের জন্য, আউটপুটটি হওয়া উচিত:

site1.com,mail.site1.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site10.com,mx-smtp222.site10.com

উত্তর:


11

সহ awk:

awk -F, '$2 ~ $1"$"' file.csv
  • -F, ক্ষেত্র বিভাজক হিসাবে সেট করে ,

  • $2 ~ $1"$"দ্বিতীয় ক্ষেত্রটি যদি প্রথম ক্ষেত্রের সাথে শেষ হয় তবে পরীক্ষা করে; যদি তা হয় তবে রেকর্ডটি মুদ্রণ করুন (ডিফল্ট ক্রিয়া)


সাথে grep, grepকেবলমাত্র ডিফল্ট মুদ্রণের সাথে মিলে যায়:

grep -E '^([^,]+),.*\1$' file.csv

সঙ্গে sed, প্রিন্টিং শর্ত মেলে এমন সমস্ত লাইন:

sed -nE '/^([^,]+),.*\1$/ p' file.csv

উদাহরণ :

% cat file.txt
site1.com,mail.site1.com
site2.com,testmail.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site5.com,foomail.com
site6.com,barmail.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site9.com,foobarmail.com
site10.com,mx-smtp222.site10.com

% awk -F, '$2 ~ $1"$"' file.txt
site1.com,mail.site1.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site10.com,mx-smtp222.site10.com

% grep -E '^([^,]+),.*\1$' file.txt
site1.com,mail.site1.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site10.com,mx-smtp222.site10.com


% sed -nE '/^([^,]+),.*\1$/ p' file.txt 
site1.com,mail.site1.com
site3.com,mx.site3.com
site4.com,smtp.site4.com
site7.com,webmail.site7.com
site8.com,01mx.site8.com
site10.com,mx-smtp222.site10.com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.