আমি কীভাবে অনন্য লাইনগুলি খুঁজে পেতে পারি এবং একটি ফাইল থেকে সমস্ত নকল মুছে ফেলতে পারি? আমার ইনপুট ফাইলটি
1
1
2
3
5
5
7
7
আমি ফলাফলটি চাই:
2
3
sort file | uniqকাজ করবে না। সমস্ত মান 1 বার প্রদর্শিত হবে
আমি কীভাবে অনন্য লাইনগুলি খুঁজে পেতে পারি এবং একটি ফাইল থেকে সমস্ত নকল মুছে ফেলতে পারি? আমার ইনপুট ফাইলটি
1
1
2
3
5
5
7
7
আমি ফলাফলটি চাই:
2
3
sort file | uniqকাজ করবে না। সমস্ত মান 1 বার প্রদর্শিত হবে
sort file | uniq1 বার সমস্ত মান দেখায় কারণ এটি তাত্ক্ষণিকভাবে প্রথম বারের মতো লাইনটি মুদ্রণ করে এবং পরবর্তী এনকাউন্টারগুলির জন্য, এটি কেবল তাদের এড়িয়ে যায়।
উত্তর:
uniq আপনার প্রয়োজনীয় বিকল্প রয়েছে:
-u, --unique
only print unique lines
$ cat file.txt
1
1
2
3
5
5
7
7
$ uniq -u file.txt
2
3
নিম্নলিখিত হিসাবে ব্যবহার করুন:
sort < filea | uniq > fileb
uniq -u filea > fileb
sort<filea.txt | uniq>fileb.txt। হতে পারে আপনি এক্সটেনশানগুলি রেখে গেছেন। আমি একটি ম্যাক ওএস এক্স ব্যবহার করছি। আপনাকে filea.txtঅন্য কোনও ব্যক্তির কাছ থেকে যেতে হবেfileb.txt
sortএবং পাইপিংয়ের বিন্দুটি কী হবে uniqযখন আপনি কেবল sort -u file -o fileযা করতে পারছেন তা হুবহু মানগুলি মুছে ফেলছে অর্থাত্ আপনার ওপিতে filebরয়েছে 1,2,3,5,7অনন্য লাইনগুলি যা কেবল ফাইল এক্সটেনশনের 2,3দ্বারা অর্জন করা যায় uniq -u fileতা চায় না এটির সাথে আপনার উত্তরটি ভুল।
এছাড়া আপনি অনন্য মান "ফাইল" -এ ব্যবহার করে মুদ্রণ করতে পারে catকমান্ড বংশীধ্বনিতুল্য দ্বারা sortএবংuniq
cat file | sort | uniq -u
ইউনিক-ইউ কাজ করে না বলে আমাকে পাগল করে চলেছে।
সুতরাং এর পরিবর্তে, যদি আপনার অজগর থাকে (বেশিরভাগ লিনাক্সের ডিস্ট্রোস এবং সার্ভারগুলি ইতিমধ্যে রয়েছে):
#Python
#Assuming file has data on different lines
#Otherwise fix split() accordingly.
uniqueData = []
fileData = open('notUnique.txt').read().split('\n')
for i in fileData:
if i.strip()!='':
uniqueData.append(i)
print uniqueData
###Another option (less keystrokes):
set(open('notUnique.txt').read().split('\n'))
জাস্ট এফআইআই, ইউনিক ম্যান পৃষ্ঠা থেকে:
"দ্রষ্টব্য: 'ইউনিীক' পুনরাবৃত্ত রেখাগুলি যদি সংলগ্ন না হয় তবে সনাক্ত করে না You
এর সাথে অনুরোধ করার জন্য সঠিক উপায়গুলির মধ্যে একটি: # সাজানো ননউইনিক.টিএসটিএস্ট | ইউনিক
$ cat x
3
1
2
2
2
3
1
3
$ uniq x
3
1
2
3
1
3
$ uniq -u x
3
1
3
1
3
$ sort x | uniq
1
2
3
uniq -u < file কাজ করবে
uniqযদি আপনার ফাইলটি / সাজানো যায় তবে জরিমানা করা উচিত, যদি আপনি কোনও কারণে ফাইলটি বাছাই করতে না পারেন তবে আপনি ব্যবহার করতে পারেন awk:
awk '{a[$0]++}END{for(i in a)if(a[i]<2)print i}'
sort -d "file name" | uniq -u
এটি আমার জন্য একই রকমের জন্য কাজ করেছিল। ব্যবস্থা না থাকলে এটি ব্যবহার করুন। এটি সাজানো থাকলে আপনি বাছাই করতে পারেন
আমি এটি সহজ খুঁজে।
sort -u input_filename > output_filename
-u অনন্য জন্য দাঁড়িয়েছে।
এটিই আমি প্রথম চেষ্টা করেছিলাম
skilla:~# uniq -u all.sorted
76679787
76679787
76794979
76794979
76869286
76869286
......
একটি বিড়াল করার পরে all.sort
skilla:~# cat -e all.sorted
$
76679787$
76679787 $
76701427$
76701427$
76794979$
76794979 $
76869286$
76869286 $
প্রতি দ্বিতীয় লাইনে একটি পিছনের স্থান রয়েছে :( সমস্ত পেছনের জায়গাগুলি মুছে ফেলার পরে এটি কাজ করেছিল!
ধন্যবাদ
sort file | uniq -uআপনার জন্য কনসোল আউটপুট হবে।