exec 与 xargs

2023-06-07,

find /var/log/ -type f -mtime +10

查找该文件夹下超过10天的文件

find /var/log/ -type f -mtime +10 -exec cp {} {}.lak \;

exec的用法

-exec .......... \;

find /var/log/ -type f mtime +10|xargs  -i cp  {}  {}.l

xargs中类似于exec的功能,将多出一个类似于...l的文件

ls | xargs

xargs 又称管道命令,构造参数等。是给命令传递参数的一个过滤器,也是组合多个命令的一个工具 
它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理 。
简单的说 就是把 其他命令的给它的数据 传递给它后面的命令作为参数

主要参数

-i 用 {} 代替 传递的数据
-I string 用string来代替传递的数据-n[数字] 设置每次传递几行数据
ls | grep .php | xargs -i mv {} {}.bak
ls | grep .php | xargs -I {} mv {} {}.bak
find ./ -name ".tmp" | xargs -i rm rf {} #删除当前目录下的.tmp文件
find ./ -type f -exec rm '{}' \;

《exec 与 xargs.doc》

下载本文的Word格式文档,以方便收藏与打印。