用户定义的操作
除了预定义的操作,我们还可以调用任意命令。 这样做的传统方法是使用 执行 行动。 这个动作是这样工作的:
执行 命令 {};
协调 命令 是命令的名称,{} 是当前路径名的符号表示,分号是指示命令结束的必需分隔符。 这是一个使用示例 执行 表现得像 -删除 之前讨论的行动:
-exec rm '{}' ';'
-exec rm '{}' ';'
同样,由于大括号和分号字符对 shell 具有特殊含义,因此必须引用或转义它们。
还可以交互地执行用户定义的操作。 通过使用 -好的 行动代替 执行,在执行每个指定的命令之前都会提示用户:
find ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 我我 224 2007-10-29 18:44 /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 18:44 /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 命令被执行。