您的位置:首页 > 其它

find命令-exec选项,find命令配合xargs

2019-04-15 23:34 483 查看

一、find命令-exec选项
这里只说两点:find正则匹配搜索,以及-exec选项
1.正则匹配查找

find /etc/ -type f -name "s*"
##在/etc/目录下搜索以s为文件名开头的文件;
注意:如果文件名使用正则匹配,那么需要加双引号,否则会报错;这里只列举了通配匹配方式,其他正则方式如"[ab].sh",“s?”等不再介绍;
2.使用-exec选项
find ./ -type f -name "1*" -exec cp {} /root \;
# #在当前目录下搜索以1为文件名开头的文件,并复制到/root目录下;
1)选项-exec,后面跟要执行的shell命令,{} 花括号代表前面find查找出来的文件名,即把搜索的文件名放到花括号中,注意反斜杠\和分号;之间没有空格,这种用法通常是把搜索的结果做处理;

二、find命令配合xargs

find ./ -type f -name "1*" | xargs -i cp {} /tmp
##在当前目录下搜索以1为文件名开头的文件,并复制到/tmp目录下;

三、总结
1.使用-exec选项,此选项是把参数一个一个传递给shell名,即传递一个文件名执行一次cp命令;
2.而xargs命令,是把参数一次性传递,即把搜索的所有文件名一次×××给cp命令处理;
https://blog.csdn.net/kevin3101/article/details/79802690
这里介绍了exec命令和bash命令的区别,是从shell进程角度解释的(注意是命令,不是find的-exec选项)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: