بهبود بهره وری
هنگامی که -اجرا اقدام استفاده می شود، هر بار که یک فایل منطبق پیدا می شود، نمونه جدیدی از دستور مشخص شده را راه اندازی می کند. مواقعی وجود دارد که ممکن است ترجیح دهیم همه نتایج جستجو را ترکیب کنیم و یک نمونه از دستور را اجرا کنیم. به عنوان مثال، به جای اجرای دستورات مانند این:
ls-l file1
ls-l file2
ممکن است ترجیح دهیم آنها را به این شکل اجرا کنیم:
ls-l file1 file2
بنابراین باعث می شود که فرمان فقط یک بار به جای چندین بار اجرا شود. دو راه برای انجام این کار وجود دارد. روش سنتی، با استفاده از دستور خارجی سارقین و راه جایگزین، با استفاده از یک ویژگی جدید در پیدا کردن خود ابتدا در مورد راه جایگزین صحبت خواهیم کرد.
با تغییر کاراکتر نقطه ویرگول دنباله دار به علامت مثبت، قابلیت of را فعال می کنیم پیدا کردن برای ترکیب نتایج جستجو در یک لیست آرگومان برای یک اجرای واحد از دستور مورد نظر. برگردیم به مثال خود، این:
پیدا کردن ~ -type f -name 'foo*' -exec ls -l '{}' ';'
پیدا کردن ~ -type f -name 'foo*' -exec ls -l '{}' ';'
-rwxr-xr-x 1 me
-rw-r--r-- 1 من
-rwxr-xr-x 1 me
-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 me
-rw-r--r-- 1 من
-rwxr-xr-x 1 me
-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 یکبار دستور دهید