案列:/test/目录下有以a开头的文件若干,a1,a2^^^^^^a40

     找出这些以a开头的,并进行删除操作


1,   for i in `find . -name 'a*'`

    > do

    > rm -rf $i

    > done

键盘左上的``---》是对命令返回值得返回

`find . -name 'a*'`是返回这个命令的执行结果!!!


2,rm -rf `find . -name 'a*'`

   ps: find . -name 'a*' >/test/find.20140518

       可以查看这个查看的结果[rm -rf a1,a2-->同时删除a1,a2]


3,利用xargs命令!(之前都是利用``符号传递执行的结果)

    find . -name 'a*'|xargs rm -rf

  ps:xargs是给命令传递参数的一个过滤器,通常情况下,xargs从管道或者stdin中读取数据

               (关键):它能够捕获一个命令的输出,然后传递给另外一个命令

               eg:

                   i) 获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是              示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l

                       #find /etc -name "*.conf" | xargs ls –l

                       但是不能写成:find /etc -name "*.conf" |  ls –l 这样写是错误的,因为很多命令不支持|管道来传递参数

             而,xargs正好是通过管道来传递参数(上个命令的执行结果)

             这个语句可以翻译为: ls -l `find /etc -name "*.conf"`


             ii) 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接

                        # cat url-list.txt | xargs wget –c

           

                      iii)查找所有的jpg 文件,并且压缩它

              # find / -name *.jpg -type f -print | xargs tar -cvzf p_w_picpaths.tar.gz