(আপনার ক্ষেত্রে তৃতীয় কলামে) উপর ভিত্তি করে নকল করা লাইনগুলি সরাতে আপনি যে কলামটি সম্পাদন করতে চান তাতে কেবল আপনার অজাইক কমান্ডটি পরিবর্তন করুন:
awk '!seen[$3]++' filename
এই কমান্ডটি বলছে যে awk
কোন লাইনগুলি প্রিন্ট করতে হবে। ভেরিয়েবল $3
3 কলামের সম্পূর্ণ বিষয়বস্তু ধারণ করে এবং বর্গাকার বন্ধনী অ্যারে অ্যাক্সেস। সুতরাং, ফাইলনামে রেখার প্রতিটি তৃতীয় কলামের জন্য, নামের অ্যারের নোড seen
বৃদ্ধি করা হয় এবং সেই নোডের (কলাম 3) লিখিত সামগ্রীটি !
আগে সেট না করা থাকলে লাইনটি মুদ্রিত হয় ।
উপরের awk
কমান্ডটি যদি কাজ করে যে ইনপুট ফাইলে আপনার কলামগুলি তাদের সাথে space
বা তাদের Tab
মধ্যেই সীমিত করা হয়েছে, কলামগুলি যদি অন্য কোনও কিছুর সাথে সীমিত করে ফেলেছে, আপনাকে এটির -F
বিকল্পটি আঁকতে বলা দরকার need সুতরাং, উদাহরণস্বরূপ, যদি সমস্ত কলাম কমা ( ,
) দিয়ে সীমাবদ্ধ থাকে এবং তৃতীয় কলামের ব্যবহার -F','
বিকল্পের উপর ভিত্তি করে লাইনগুলি সরাতে চায় ।
awk -F',' '!seen[$3]++' filename
-u
ডুপ্লিকেট লাইনগুলি সরিয়ে ফেলবে , নকল কীগুলি নয় ... তবে আমি ভুল করছি।