1 在find的查询结果上执行命令篇
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。
格式
find <CONDITION to Find files> -exec <COMMAND> ;
-exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
2 示例
2.1 显示文件详情
[root@test test]# find . -type f -amin -120 -exec ls -lvs {} \;
[root@test test]# find . -type f -amin +120 -exec ls -lvs {} \;
4 -rw-r--r-- 1 root root 38 Apr 13 21:42 ./catTest/f3
4 -rw-r--r-- 1 root root 51 Apr 13 21:46 ./catTest/f4
4 -rw-r--r-- 1 root root 13 Apr 13 21:45 ./catTest/f1
...省略...
2.2 复制文件
[root@test findTest]# ls
2rd f1 F1 f2 F2 f3 F3 f4 test.sh
[root@test findTest]# cat test.sh
cp "$1" "$1.bak";
[root@test findTest]# find . -maxdepth 1 -type f -amin +120 -exec ./test.sh '{}' \;
[root@test findTest]# ls
2rd f1 F1 f1.bak F1.bak f2 F2 f2.bak F2.bak f3 F3 f3.bak F3.bak f4 f4.bak test.sh