<Предыдущая | Содержание: | Следующая>
Действия, определяемые пользователем
В дополнение к предопределенным действиям мы также можем вызывать произвольные команды. Традиционный способ сделать это - -Exec действие. Это действие работает так:
-Exec команду {};
в котором команду - имя команды, {} - символическое представление текущего пути, а точка с запятой - обязательный разделитель, обозначающий конец команды. Вот пример использования -Exec действовать как -удалять действие, обсуждавшееся ранее:
-exec rm '{}' ';'
-exec rm '{}' ';'
Опять же, поскольку фигурные скобки и точки с запятой имеют особое значение для оболочки, они должны быть заключены в кавычки или экранированы.
Также возможно интерактивное выполнение определенного пользователем действия. Используя -Хорошо действие вместо -Exec, пользователю предлагается перед выполнением каждой указанной команды:
find ~ -type f -name 'foo *' -ok ls -l '{}' ';'
<ls ... / home / me / bin / foo>? y
-rwxr-xr-x 1 мне, мне, 224 2007, 10:29 / home / me / bin / foo
<ls ... /home/me/foo.txt>? y
-rw-r - r-- 1 меня я 0 2016-09-19 12:53 /home/me/foo.txt
find ~ -type f -name 'foo *' -ok ls -l '{}' ';'
<ls ... / home / me / bin / foo>? y
-rwxr-xr-x 1 мне, мне, 224 2007, 10:29 / home / me / bin / foo
<ls ... /home/me/foo.txt>? y
-rw-r - r-- 1 меня я 0 2016-09-19 12:53 /home/me/foo.txt
В этом примере мы ищем файлы с именами, начинающимися со строки «foo», и выполняем команду ls -l каждый раз находят. С помощью -Хорошо действие запрашивает пользователя перед ls команда выполняется.