find命令结合cp bash mv 命令使用的4种方式


工作经常需要用find结合其它命令一起使用,下面介绍4种结合方式.

例: 用find查找/data目录下,以.txt文件结尾的文件并复制到/tmp下

方法一

find与|xargs是黄金搭档,-t 参数指定目标目录(效率高,因为 xargs 会让命令作为一行来执行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" | xargs cp -t /tmp

方法二

{} 大括号里的内容为find命令找到的结果(效率低,因为 exec 会让命令分多次执行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" -exec cp {} /tmp \;

方法三

$()= 存放命令的执行结果

[root@Jonnyan ~]# cp $(find /data/ -type f -name"*.txt") /tmp

方法四

-i 参数指定找到的结果放到{}中

[root@Jonnyan ~]# find/data/ -type f -name "*.txt" | xargs -i cp{} /tmp

find 排除多个目录

find /tmp/jonny \( -path /tmp/jonny/dir1 -o -path /tmp/jonny/file1 \) -prune -o -name "*" -print

  • 在 shell 中,"与" 和 "或" 有两种表达方式。
  • 在 shell 中,"与" 的运算符为 "-a",同时,"与" 的逻辑运算符也可以用 "&&" 表示。
  • 在 shell 中,"或" 的运算符为 "-o",同时,"或" 的逻辑运算符也可以用 "||" 表示。
    解释参考:http://www.zsythink.net/archives/1154


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM