xargs 是非常方便的一个命令,在实际的工作中经常遇到。比如想要删除某个目录下所有的.svn文件(包括子目录)
find . -name "*.svn" |xargs rm -rf
如果在xargs所接的命令,所带的参数不是一个,那又该怎么办呢?
find . -name "*.log" -print0 | xargs -0 -t -I {} mv {} ./mylogs/
该命令会把当前所有的.log文件移动到 ./mylogs文件夹。
其中 -I {} 表示把当前处理的参数用{}表示,这样后续的命令可以用{}来处理。
-t 表示打印当前运行的命令。
具体可以参考 man xargs