代码片段

作者: 敖武

find 并执行其他命令

先通过find查找文件并对文件执行特定命令

通过-exec选项实现

find . -type f -exec ls -l {} \;

通过xargs实现

find . -maxdepth 1 -name "*.log" | xargs -i  du -hs {}

应用实战一

查找所有项目并自动拉取master分支上的最新代码

find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;

应用实战二

查找特定的文件并清空内容

find . -type f -name "user*" -exec bash -c 'echo 0x0 > {}' \;

找到所有user开头的文件,并对每个文件执行脚本echo 0x0 > {}清空文件内容, 当脚本执行的时候{}会被动态替换成当前文件名, 最后结尾的\;表示该分号是执行子命令的内容,不是find需要处理的分号。