Linux超帅命令:xargs

介绍: 大家常用的Linux命令大概在20多个的样子,除了基本的find、grep、awk啥的,还有一些配合起来有意思的命令,结合起来使用强大,这就是Unix的设计哲学:K.I.S.S 1. 拷贝文件(除了某些文件或目录之外的文件) [heiyeluren@localhost php5]$ ls bin data etc include ini lib logs man old php.ini php.ini.20110505 phplib ral sbin var 上面文件列表里比如我们不想拷贝 data/logs 两个目录,那么就可以使用grep -v 去掉后再调用 xargs 来拷贝其他文件: [heiyeluren @localhost php5]$ ls | grep -v log | grep -v data | xargs -i cp -rf {} /home/heiyeluren /code/php5/ 说明: -i 参数是指定 {} 代表我们当前列出来的文件名字。 2. 从所有文件里查找内容 比如,我们需要从PHP文件里检索出使用了 include 函数的文件,一般使用grep可以直接: grep . -r "include" 也可以使用xargs,那么就可以使用 find + xargs 结合使用: find . -name '*.php' | xargs grep include 3. 删除某些目录 比如我们需要删除 .svn 这种目录,一般我们可以直接使用 find 命令自带的 -exec 参数: find ./ -type d -name '.svn' -exec rm -rf {} \; 我们也可以使用 find + xargs来进行删除: find ./ -name '.svn' | xargs rm -rf 或者我们列出当前所有文件(不包括子目录),但是保留 .svn 目录不删除: ls | grep -v ".svn" | xargs rm -rf 或者是: ls | grep -v ".svn" | xargs -i rm -rf {} 原文地址:

http://qing.weibo.com/1657315521/62c8a0c133002a2v.html