find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。
看例子:
find ./ -name "*.txt" -exec ls -l "{}" /;
查找当前目录的.txt文件并以列表形式列出来
find ./ -name "*.txt" -exec mv "{}" "{}d" /;
批量修改当前目录下.txt文件的后缀名改为.txtd
find . -type f -exec grep 'config_dir_path' -l {} \;
查找内容中包含‘config_dir_path’的文件列表
解释:
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
{} 花括号代表前面find查找出来的文件名。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿 {},一个空格和一个\,最后是一个分号。 cmd {} \;
例子:
find ./ -name "*.tmp" -exec rm -rf "{}" /;
删除所有的临时文件