كيف تقارن اثنين من الملفات النصية باستخدام لينكس

سيوضح لك هذا الدليل كيفية استخدام نظام Linux لمقارنة ملفين وإخراج اختلافهما إلى الشاشة أو إلى ملف.

لا تحتاج إلى تثبيت أي برنامج خاص لمقارنة الملفات باستخدام نظام التشغيل Linux ولكنك تحتاج إلى معرفة كيفية فتح نافذة طرفية .

كما يوضح الدليل المرتبط ، هناك العديد من الطرق لفتح نافذة طرفية باستخدام Linux. أبسط هو الضغط على مفاتيح CTRL و ALT و T في نفس الوقت.

خلق الملفات للمقارنة

من أجل المتابعة مع هذا الدليل ، قم بإنشاء ملف يسمى "file1" وأدخل النص التالي:

10 زجاجات خضراء تقف على الحائط

10 زجاجات خضراء تقف على الحائط

في حالة سقوط زجاجة خضراء واحدة عن طريق الخطأ

سيكون هناك 9 زجاجات خضراء تقف على الحائط

يمكنك إنشاء ملف باتباع التعليمات التالية:

  1. افتح الملف بكتابة الأمر التالي: nano file1
  2. اكتب النص في محرر nano
  3. اضغط على CTRL و O لحفظ الملف
  4. اضغط CTRL و X لإنهاء الملف

الآن قم بإنشاء ملف آخر يسمى "file2" وأدخل النص التالي:

10 زجاجات خضراء تقف على الحائط

إذا كانت هناك زجاجة واحدة خضراء يجب أن تسقط بطريق الخطأ

سيكون هناك 9 زجاجات خضراء تقف على الحائط

يمكنك إنشاء ملف باتباع التعليمات التالية:

  1. افتح الملف عن طريق كتابة الأمر التالي: nano file2
  2. اكتب النص في محرر nano
  3. اضغط على CTRL و O لحفظ الملف
  4. اضغط CTRL و X لإنهاء الملف

كيفية مقارنة ملفين باستخدام لينكس

يسمى الأمر المستخدم في Linux لإظهار الاختلافات بين ملفين الأمر diff.

أبسط شكل من أشكال الأمر diff هو كما يلي:

فرق file1 file2

إذا كانت الملفات هي نفسها ، فلن يكون هناك أي مخرجات عند استخدام هذا الأمر ، ومع ذلك ، فهناك اختلافات سترى مخرجات مشابهة لما يلي:

2،4c2،3

<10 زجاجات خضراء واقفة على الحائط

<إذا ﻛﺎﻧﺖ زﺟﺎﺟﺔ واﺣﺪة أﺧﻀﺮ ﺗﺴﻘﻂ ﻋﺮﺿًﺎ

<سيكون هناك 9 زجاجات خضراء تقف على الحائط

...

> إذا وقعت زجاجة واحدة خضراء اللون عن طريق الخطأ

> سيكون هناك 9 زجاجات خضراء تقف على الحائط

في البداية ، قد يبدو الإخراج مربكًا ، ولكن بمجرد فهمك للمصطلحات ، فمن المنطقي إلى حد ما.

باستخدام عينيك يمكنك أن ترى أن الاختلافات بين الملفين هي كما يلي:

يظهر الإخراج من الأمر diff أنه بين السطور 2 و 4 من الملف الأول والخطوط 2 و 3 من الملف الثاني هناك اختلافات.

ثم يسرد السطور من 2 إلى 4 من الملف الأول متبوعًا بسطريين مختلفين في الملف الثاني.

كيف تظهر فقط إذا كانت الملفات مختلفة

إذا كنت تريد فقط معرفة ما إذا كانت الملفات مختلفة وكنت غير مهتم بالخطوط المختلفة ، فيمكنك تشغيل الأمر التالي:

فرق -q file1 file2

إذا كانت الملفات مختلفة سيتم عرض ما يلي:

ملفات file1 و file2 تختلف

إذا كانت الملفات هي نفسها فلن يتم عرض أي شيء.

كيفية إظهار رسالة إذا كانت الملفات هي نفسها

عندما تقوم بتشغيل أمر تريد أن تعرف أنه قد عمل بشكل صحيح ، لذلك تريد أن يتم عرض رسالة عند تشغيل الأمر diff بغض النظر عما إذا كانت الملفات هي نفسها أو مختلفة

من أجل تحقيق هذا المطلب باستخدام الأمر diff ، يمكنك استخدام الأمر التالي:.

فرق-ملف file1 file2

الآن إذا كانت الملفات هي نفسها ستتلقى الرسالة التالية:

الملفات file1 و file2 متطابقة

كيفية إنتاج الاختلافات جنبا إلى جنب

إذا كان هناك الكثير من الاختلافات ، فبإمكانه أن يصبح مربكًا للغاية حول الاختلافات الموجودة بالفعل بين الملفين.

يمكنك تغيير إخراج الأمر diff بحيث تظهر النتائج جنبًا إلى جنب. للقيام بهذا ، قم بتشغيل الأمر التالي:

diff -y file1 file2

يستخدم الإخراج للملف | رمز لإظهار الفرق بين السطرين ، <لإظهار خط تمت إزالته و> لإظهار خط تم إلحاقه.

ومن المثير للاهتمام إذا قمت بتشغيل الأمر باستخدام ملفات العرض التوضيحي لدينا ، فستظهر جميع الخطوط على هيئة اختلاف باستثناء السطر الأخير من الملف 2 الذي سيظهر بعد حذفه.

تقييد عرض العمود

عند مقارنة ملفين جنبًا إلى جنب ، قد يكون من الصعب قراءة ما إذا كانت الملفات تحتوي على الكثير من أعمدة النص.

لتقييد عدد الأعمدة ، استخدم الأمر التالي:

فرق - عرض = 5 ملف file2

كيفية تجاهل حالة الاختلافات عند مقارنة الملفات

إذا كنت ترغب في مقارنة ملفين ولكنك لا يهمك ما إذا كانت حالة الأحرف هي نفسها بين الملفين ، فيمكنك استخدام الأمر التالي:

فرق- file1 file2

كيفية تجاهل زائدة الفضاء الأبيض في نهاية السطر

إذا قمت عند مقارنة الملفات التي تلاحظها بتحميل الكثير من الاختلافات والفروق الناتجة عن المساحة البيضاء في نهاية الأسطر ، يمكنك تجاهل هذه التغييرات على أنها تظهر كتغييرات عن طريق تشغيل الأمر التالي:

فرق -Z file1 file2

كيفية تجاهل جميع الاختلافات في الفضاء الأبيض بين اثنين من الملفات

إذا كنت مهتمًا فقط بالنص في ملف ولا يهمك ما إذا كان هناك مسافات أكثر في أحدهما الآخر ، فيمكنك استخدام الأمر التالي:

فرق -W file1 file2

كيفية تجاهل خطوط فارغة عند المقارنة بين اثنين من الملفات

إذا لم تكن مهتمًا بأن ملفًا واحدًا قد يحتوي على أسطر فارغة إضافية ، فيمكنك مقارنة الملفات باستخدام الأمر التالي:

فرق -B file1 file2

ملخص

يمكنك العثور على مزيد من المعلومات من خلال قراءة دليل الأمر diff.

رجل فرق

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

أمر آخر يمكنك استخدامه لمقارنة الملفات هو أمر cmp كما هو موضح في هذا الدليل . هذا يقارن ملفات بايت من قبل بايت.