كيفية البحث عن بيانات مكررة في ملف نصي Linux باستخدام uniq

كيفية البحث عن بيانات مكررة في ملف نصي Linux باستخدام uniq

هل سبق لك أن صادفت ملفات نصية ذات أسطر متكررة وكلمات مكررة؟ ربما تعمل بانتظام مع إخراج الأمر وتريد تصفية تلك السلاسل المميزة. عندما يتعلق الأمر بالملفات النصية وإزالة البيانات الزائدة عن الحاجة في Linux ، فإن الأمر uniq هو أفضل رهان لك.





في هذه المقالة ، سنناقش الأمر uniq بتعمق ، جنبًا إلى جنب مع دليل مفصل حول كيفية استخدام الأمر لإزالة الأسطر المكررة من ملف نصي.





ما هي القيادة الفريدة؟

يتم استخدام الأمر uniq في Linux لعرض أسطر متطابقة في ملف نصي. يمكن أن يكون هذا الأمر مفيدًا إذا كنت تريد إزالة الكلمات أو السلاسل المكررة من ملف نصي. نظرًا لأن الأمر uniq يطابق الأسطر المجاورة للعثور على النسخ المكررة ، فإنه يعمل فقط مع الملفات النصية التي تم فرزها.





لحسن الحظ ، يمكنك توجيه ملفات نوع الأمر مع uniq لتنظيم الملف النصي بطريقة متوافقة مع الأمر. بصرف النظر عن عرض الأسطر المتكررة ، يمكن للأمر uniq أيضًا حساب تواجد الأسطر المكررة في ملف نصي.

كيفية استخدام الأمر uniq

هناك العديد من الخيارات والأعلام التي يمكنك استخدامها مع uniq. بعضها أساسي ويقوم بعمليات بسيطة مثل طباعة الأسطر المتكررة ، في حين أن البعض الآخر مخصص للمستخدمين المتقدمين الذين يعملون بشكل متكرر مع الملفات النصية على Linux.



النحو الأساسي

الصيغة الأساسية للأمر uniq هي:

uniq option input output

...أين اختيار هي العلامة المستخدمة لاستدعاء طرق معينة للأمر ، إدخال هو ملف نصي للمعالجة ، و انتاج هو مسار الملف الذي سيخزن الإخراج.





ال انتاج الحجة اختيارية ويمكن تخطيها. إذا لم يحدد المستخدم ملف الإدخال ، فإن uniq يأخذ البيانات من الإخراج القياسي كمدخل. هذا يسمح للمستخدم بأن يوجه uniq مع أوامر Linux الأخرى .

مثال على ملف نصي

سنستخدم الملف النصي مكررة. txt كمدخل للأمر.





127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.

لاحظ أننا قمنا بالفعل بفرز هذا الملف النصي باستخدام امتداد نوع أمر. إذا كنت تعمل مع بعض الملفات النصية الأخرى ، فيمكنك فرزها باستخدام الأمر التالي:

sort filename.txt > sorted.txt

إزالة الخطوط المكررة

أبسط استخدام لـ uniq هو إزالة السلاسل المتكررة من الإدخال وطباعة الإخراج الفريد.

uniq duplicate.txt

انتاج:

لاحظ أن النظام لا يعرض التكرار الثاني للخط هذا ملف نصي . أيضًا ، يقوم الأمر المذكور أعلاه بطباعة الأسطر الفريدة فقط في الملف ولا يؤثر على محتوى الملف النصي الأصلي.

عد الأسطر المتكررة

لإخراج عدد الأسطر المكررة في ملف نصي ، استخدم الامتداد علم بالأمر الافتراضي.

uniq -c duplicate.txt

انتاج:

يعرض النظام عدد كل سطر موجود في الملف النصي. يمكنك أن ترى أن الخط هذا ملف نصي يحدث مرتين في الملف. بشكل افتراضي ، يكون الأمر uniq حساسًا لحالة الأحرف.

لطباعة الأسطر المكررة فقط من الملف النصي ، استخدم ملحق علم. ال تمثل ينسخ .

uniq -D duplicate.txt

سيعرض النظام الإخراج على النحو التالي.

This is a text file.
This is a text file.

تخطي الحقول أثناء التحقق من التكرارات

إذا كنت تريد تخطي عدد معين من الحقول أثناء مطابقة السلاسل ، فيمكنك استخدام -F علم بالأمر. ال -F تمثل حقل .

خذ بعين الاعتبار الملف النصي التالي الحقول. txt .

192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS

لتخطي الحقل الأول:

uniq -f 1 fields.txt

انتاج:

192.168.0.1 TCP
Linux FS

تخطى الأمر المذكور أعلاه الحقل الأول (عناوين IP وأسماء نظام التشغيل) وطابق الكلمة الثانية (TCP و FS). بعد ذلك ، عرض التكرار الأول لكل مباراة على أنها المخرجات.

تجاهل الأحرف عند المقارنة

مثل تخطي الحقول ، يمكنك تخطي الأحرف أيضًا. ال تسمح لك العلامة بتحديد عدد الأحرف المطلوب تخطيها أثناء مطابقة الأسطر المكررة. تساعد هذه الميزة عندما تكون البيانات التي تعمل معها في شكل قائمة على النحو التالي:

برنامج الكلام إلى نص تنزيل مجاني لنظام التشغيل windows 10
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

لتجاهل أول حرفين (قائمة الترقيم) في الملف list.txt :

uniq -s 2 list.txt

انتاج:

في الإخراج أعلاه ، تم تجاهل الحرفين الأولين وتمت مطابقة البقية لأسطر فريدة.

تحقق من عدد الأحرف N الأول للتكرارات

ال -في تسمح لك العلامة بالتحقق فقط من عدد ثابت من الأحرف للتكرارات. على سبيل المثال:

uniq -w 2 duplicate.txt

لن يتطابق الأمر المذكور أعلاه إلا مع أول حرفين وسيطبع أسطرًا فريدة إن وجدت.

انتاج:

إزالة حساسية حالة الأحرف

كما ذكرنا سابقًا ، يعتبر uniq حساسًا لحالة الأحرف أثناء مطابقة الأسطر في الملف. لتجاهل حالة الأحرف ، استخدم -أنا الخيار مع الأمر.

uniq -i duplicate.txt

سترى الإخراج التالي.

لاحظ في الإخراج أعلاه ، لم يعرض uniq الأسطر افعل ذلك و هذا ملف نصي .

إرسال الإخراج إلى ملف

لإرسال إخراج الأمر uniq إلى ملف ، يمكنك استخدام ملحق إعادة توجيه الإخراج ( > ) على النحو التالي:

uniq -i duplicate.txt > otherfile.txt

أثناء إرسال مخرجات إلى ملف نصي ، لا يعرض النظام إخراج الأمر. يمكنك التحقق من محتوى الملف الجديد باستخدام امتداد قط أمر.

cat otherfile.txt

يمكنك أيضًا استخدام طرق أخرى لـ إرسال إخراج سطر الأوامر إلى ملف في Linux .

تحليل البيانات المكررة مع uniq

في معظم الأوقات أثناء إدارة خوادم Linux ، ستعمل إما على الجهاز الطرفي أو تقوم بتحرير الملفات النصية. لذلك ، فإن معرفة كيفية إزالة النسخ الزائدة من الأسطر في ملف نصي يمكن أن يكون مصدرًا رائعًا لمجموعة مهارات Linux الخاصة بك.

قد يكون العمل مع الملفات النصية أمرًا محبطًا إذا كنت لا تعرف كيفية تصفية وفرز النص في ملف. لتسهيل عملك ، يحتوي Linux على العديد من أوامر تحرير النص مثل سيد و awk تتيح لك العمل بكفاءة مع الملفات النصية ومخرجات سطر الأوامر.

يشارك يشارك سقسقة بريد الالكتروني هذه أمثلة 10 Sed ستجعلك مستخدمًا قويًا لنظام Linux

هل تريد أن تصبح مستخدمًا قويًا لنظام Linux؟ سيساعد التعامل مع Sed. تعلم من هذه الأمثلة العشرة.

اقرأ التالي
مواضيع ذات صلة
  • لينكس
  • لينكس
نبذة عن الكاتب ديبيش شارما(79 المقالات المنشورة)

Deepesh هو محرر جونيور لنظام Linux في MUO. يكتب أدلة إعلامية على Linux ، بهدف توفير تجربة سعيدة لجميع الوافدين الجدد. لست متأكدًا من الأفلام ، ولكن إذا كنت تريد التحدث عن التكنولوجيا ، فهو الرجل المناسب لك. في أوقات فراغه ، يمكنك أن تجده يقرأ الكتب أو يستمع إلى أنواع موسيقية مختلفة أو يعزف على جيتاره.

المزيد من Deepesh Sharma

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك