-exec командування ;
Виконати команду ; вірно, якщо статус 0 повернуто. Усі наступні аргументи для пошуку вважаються аргументами команди, поки аргумент, що складається з, не ;буде знайдений. Рядок {}замінюється поточним іменем файлу, який обробляється скрізь, коли він виникає в аргументах команди, а не тільки в аргументах, де він один, як у деяких версіях find. Обидві ці конструкції, можливо, знадобиться уникнути (з а \) або цитувати їх, щоб захистити їх від розширення оболонкою. Див. Розділ ПРИКЛАДИ для прикладів використання -execпараметра. Зазначена
командазапускається один раз для кожного відповідного файлу. Команда виконується в початковому каталозі. Існують неминучі проблеми безпеки щодо використання -exec
дії; ви повинні використовувати -execdirопцію замість цього.
-exec командування {} +
Цей варіант -execдії виконує задану команду на вибраних файлах, але командний рядок будується додаванням кожного вибраного імені файлу в кінці; загальна кількість викликів команди буде значно меншою, ніж кількість відповідних файлів. Командний рядок побудований приблизно так само, як xargsбудує його командні рядки. Лише один екземпляр {}дозволений в межах команди. Команда виконується в початковому каталозі. Якщо findвиникає помилка, це іноді може спричинити негайний вихід, тому деякі команди, що очікують на розгляд, можуть не запускатися. Цей варіант -execзавжди повертає істину.
-execdir командування ;
-execdir командування {} +
Можливо -exec, але вказана команда запускається з підкаталогу, що містить відповідний файл, який зазвичай не є каталогом, в якому ви почали знаходити. Це набагато більш безпечний метод для виклику команд, оскільки він дозволяє уникнути перегонів під час вирішення шляхів до відповідних файлів. Як і у випадку -exec дії,
+ форма -execdir буде будувати командний рядок для обробки більш ніж одного відповідного файлу, але будь-яке дане виклик команди буде перелічувати лише ті файли, які існують в одному підкаталозі. Якщо ви використовуєте цю опцію, ви повинні переконатися, що ваша $PATHзмінна середовище не посилається.; в іншому випадку зловмисник може виконувати будь-які команди, які їм подобаються, залишаючи файл із відповідним іменем у каталозі, в якому ви будете запускатись -execdir. Це ж стосується записів, у $PATHяких порожні або які не є абсолютними іменами каталогів. Якщо findвиникає помилка, це іноді може спричинити негайний вихід, тому деякі команди, що очікують на розгляд, можуть не запускатися. Результат дії залежить від того, використовується +або ;варіант;
-execdir команда {} + завжди повертає true, тоді як -execdir команда {} ; повертає true, лише якщо команда повертає 0.
-I замінити-вул
Замініть випадки заміщення str у початкових аргументах іменами, прочитаними зі стандартного вводу. Також пропуски без котирування не закінчують елементи введення; натомість роздільник - це символ нового рядка. Наслідки -xі -L 1.
-i[ заміна-str ], --replace[ =zamena-str ]
Цей параметр є синонімом для -Isubstitu-str, якщо вказано substitu-str . Якщо аргумент заміни str не вистачає, ефект такий же, як -I{}. Ця опція застаріла; використовувати -Iзамість цього.
{ список; }
список просто виконується в поточному середовищі оболонки. список повинен бути завершений новим рядком або крапкою з комою. Це відомо як команда групи. Статус повернення - це статус виходу зі списку. Зауважте, що на відміну від метахарактерів ( і ) , { і } є зарезервованими словами і повинні виникати там, де дозволено розпізнавати зарезервоване слово. Оскільки вони не викликають розрив слова, їх потрібно відокремити від списку пробілом або іншим метахарактером оболонки.
{}- означаєtargetsдіяти, за допомогоюfindкоманди - це видалити /rmзнайти файли.