قارن محتويات دليلين من سطر الأوامر

Anonim

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

comm -3 < (ls -1 المجلد 1) < (ls -1 المجلد 2)

سيكون الإخراج المدرج هو الملفات المختلفة في كل مجلد ، مع الملفات الفريدة للمجلد 1 محاذاة إلى اليسار ، والملفات الفريدة للمجلد 2 محاذاة إلى اليمين.

على سبيل المثال ، لمقارنة محتويات مجلد يسمى "الصور" ومجلد باسم "OldPictures" ، وكلاهما مخزّن في دليل تنزيلات المستخدم ، سيكون التركيب كما يلي:

comm -3 < (ls -1 ~ / Downloads / Pictures) < (ls -1 ~ / Downloads / OldPictures)

قد يبدو الناتج كما يلي:

$ comm -3 < (ls -1 ~ / Downloads / Pictures) < (ls -1 ~ / Downloads / OldPictures) Folder-1-File.PNG Folder -2-File copy.PNG photo 1 copy.PNG photo 3.PNG

لاحظ المسافة البادئة التي توضح لك الملفات الفريدة لكل مجلد. في المثال أعلاه ، تمت محاذاة الملف "photo 1 copy.PNG" و "photo 3.png" إلى اليمين ، وبالتالي فهي فريدة بالنسبة إلى دليل OldPictures و Folder-1-File.PNG و Folder-2-File copy.PNG فريدة من نوعها في مجلد الصور الأصلي.

هذا يعمل بشكل رائع في نظام التشغيل Mac OS X ، ولكنه أمر عام يونكس ، لذا يجب أن تجده قابلاً للاستخدام في نظام التشغيل Linux والمتغيرات الأخرى أيضًا. إذا واجهت أي مشاكل في التوافق ، أو وجدت هذا الأمر معقدًا بشكل غير ضروري ، فحاول استخدام diff لأداء نفس الوظيفة.

خدعة رائعة عثر عليهاclimagic على Twitter ،osxdaily موجودة أيضًا!

قارن محتويات دليلين من سطر الأوامر