Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Підвищення ефективності

Коли Exec- Якщо використовується дія, він запускає новий екземпляр вказаної команди щоразу, коли буде знайдено відповідний файл. Іноді ми можемо віддати перевагу об’єднати всі результати пошуку та запустити один екземпляр команди. Наприклад, замість виконання таких команд:

ls -l file1

ls -l file2

ми можемо віддати перевагу виконувати їх таким чином:

ls -l файл1 файл2

таким чином команда виконується лише один раз, а не кілька разів. Ми можемо це зробити двома способами. Традиційний спосіб, за допомогою зовнішньої команди ксарг та альтернативним способом, використовуючи нову функцію в знаходити себе. Спочатку ми поговоримо про альтернативний шлях.

Змінюючи кінцевий символ крапки з комою на знак плюс, ми активуємо здатність знаходити щоб об’єднати результати пошуку в список аргументів для одноразового виконання потрібної команди. Повертаючись до нашого прикладу, це:


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 мене


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

я 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 мене


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

я 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: