وثائق لينوكس العربية

الثنائي الرائع find و xargs

كتب بواسطة مسلم عادل بتاريخ 2008/09/08

الأمر find (كما يدل إسمه) يستخدم للبحث عن الملفات والمجلدات. بينما الأمر xargs يعمل على تكرار أمر ما للمعطيات التي تمرر إليه.

لنفرض أنك تريد حذف كل الملفات التي تنتهي بالعلامة “~” من مجلد ما والمجلدات الفرعية التي بداخله. سيكون من الصعب أن تدخل الى كل مجلد يدويا لحذف هذا النوع من الملفات، ولكن باستخدام الأمر find سيكون بإمكانك إيجاد هذه الملفات بسهولة وإذا استخدامت الأمر xargs معه ستتمكن من حذفها بسهولة أيضا.

تأمل المثال التالي:

arabian@laptop:~$ find /home/arabian -name "*~" | xargs rm

الأمر find سيقوم بإيجاد كل ملف ينتهي بـ ~ والأمر xargs سيقوم بتمرير النتيجة الى الأمر rm

في بعض أنواع الصدفات (shells) لن تعمل الصيغة السابقة لأن العلامة * محجوزة ولكن يمكن “الهروب” لو نفذ الأمر بالطريقة التالية:

arabian@laptop:~$ find /home/arabian -name \*~ | xargs rm

وإذا كنت تريد حذف الملفات دون أن تسأل أضف الخيار “-f” الى الأمر rm

arabian@laptop:~$ find /home/arabian -name \*~ | xargs rm -f
, , , ,

1 تعليق على هذا الموضوع

أكتب تعليق

هل تبحث عن شيء؟

إستخدم النموذج التالي للبحث:

مواقع أنصح بها!

أنصح بزيارة المواقع التالية:

الأرشيف

ستجد هنا أرشيف المقالات السابقة: