আপনি কমান্ডটি sortবিকল্পের সাহায্যে ব্যবহার করতে পারেন --unique:
sort -u input-file
আপনি যদি স্ট্যান্ডার্ড আউটপুটের পরিবর্তে ফলকে ফল লিখতে চান তবে বিকল্পটি ব্যবহার করুন --output=FILE:
sort -u input-file -o output-file
কমান্ডটি uniqপ্রয়োগ করা যেতে পারে। এক্ষেত্রে অভিন্ন লাইনগুলি অবশ্যই পরিণামযুক্ত হতে পারে, সুতরাং ইনপুটটি প্রাথমিকভাবে বাছাই করতে হবে - এই নোটের জন্য @ রন জনকে ধন্যবাদ :
sort input-file | uniq > output-file
আমি sortঅনুরূপ মামলার জন্য কমান্ডটি তার সরলতার কারণে পছন্দ করি তবে আপনি যদি বড় অ্যারে দিয়ে কাজ করেন তবে জন awk1024 এর উত্তরটি আরও শক্তিশালী হতে পারে। এখানে প্রায় 5 মিলিয়ন লাইন সহ একটি ফাইলের (উপরের উদাহরণের ভিত্তিতে) প্রয়োগ করা উল্লিখিত পদ্ধতির মধ্যে একটি সময়ের তুলনা করা হয়েছে:
$ cat input-file | wc -l
20000000
$ TIMEFORMAT=%R
$ time sort -u input-file | wc -l
64
7.495
$ time sort input-file | uniq | wc -l
64
7.703
$ time awk '!a[$0]++' input-file | wc -l # from John1024's answer
64
1.271
$ time datamash rmdup 1 < input-file | wc -l # from αғsнιη's answer
64
0.770
অন্যান্য গুরুত্বপূর্ণ পার্থক্য করা হয় যে উল্লেখ @Ruslan :
sort -uইনপুট শেষ হয়ে গেলেই কেবল ফলাফলটি মুদ্রণ করা হবে, যখন এই awkআদেশটি ফ্লাইতে প্রতিটি নতুন ফলাফল লাইন প্রিন্ট করবে (এটি ফাইলের চেয়ে পাইপযুক্ত ইনপুটটির জন্য আরও গুরুত্বপূর্ণ হতে পারে)।
এখানে একটি উদাহরণ দেওয়া হল:

উপরের উদাহরণে, লুপটি (নীচে দেখানো হয়েছে) এডি বর্ণের 500 অক্ষর সংমিশ্রণ, প্রতিটি অক্ষরের দৈর্ঘ্য সহ প্রতিটি তৈরি করে। এই সংমিশ্রণগুলি পাইপ করা হয় awkবা হয় sort।
for i in {1..500}; do cat /dev/urandom | tr -dc A-D | head -c 3; echo; done