OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

تحسين الكفاءة

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

لس -l file1

لس -l file2

قد نفضل تنفيذها بهذه الطريقة:

لس -l ملف 1 ملف 2

مما يتسبب في تنفيذ الأمر مرة واحدة فقط بدلاً من عدة مرات. هناك طريقتان يمكننا القيام بذلك. الطريقة التقليدية باستخدام الأمر الخارجي com.xargs والطريقة البديلة ، باستخدام ميزة جديدة في جد بحد ذاتها. سنتحدث عن الطريقة البديلة أولاً.

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


find ~ -type f -name 'foo *' -exec ls -l '{}' '؛'

find ~ -type f -name 'foo *' -exec ls -l '{}' '؛'


-rwxr-xr-x 1 لي

-rw-r - r - 1 لي

-rwxr-xr-x 1 لي

-rw-r - r - 1 لي


صورة

me 224 2007-10-29 18:44 / home / me / bin / foo

me 224 2007-10-29 18:44 / home / me / bin / foo

me

me

0 2016-09-19 12:53 / home/me/foo.txt

0 2016-09-19 12:53 / home/me/foo.txt

سوف ينفذ ls في كل مرة يتم العثور على ملف مطابق. بتغيير الأمر إلى:



اعثر على ~ -type f -name 'foo *' -exec ls -l '{}' +

اعثر على ~ -type f -name 'foo *' -exec ls -l '{}' +


-rwxr-xr-x 1 لي

-rw-r - r - 1 لي

-rwxr-xr-x 1 لي

-rw-r - r - 1 لي


صورة

me 224 2007-10-29 18:44 / home / me / bin / foo

me 224 2007-10-29 18:44 / home / me / bin / foo

me

me

0 2016-09-19 12:53 / home/me/foo.txt

0 2016-09-19 12:53 / home/me/foo.txt

نحصل على نفس النتائج ، ولكن يتعين على النظام فقط تنفيذ ls الأمر مرة واحدة.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: