xargs命令

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。ide

    一般状况下,xargs从管道或者stdin中读取数据,可是它也可以从文件的输出中读取数据。xargs的默认命令是echo,这意味着经过管道传递给xargs的输入将会包含换行和空白,不过经过xargs的处理,换行和空白将被空格取代
工具


    xargs是一个很是强大的命令,能够取一个命令的输出做为另外一个命令的参数。下面就是几个关于如何有效使用xargs命令的实例。url

 

一、当你使用rm命令去删除不少的文件时,如:spa

find ~ -name “*.log” -print -exec rm –f {} \;

你可能会获得错误信息:“/bin/rm Argument list too long – Linux”。图片

这时能够用xargs来避免这个问题get

find ~ -name *.log‘ -print0 | xargs -0 rm –f 或者find ~ -name *.log‘  | xargs rm –f

二、得到/etc下全部以.conf结尾的文件。如下命令仅仅为了帮助你们理解如何使用xargs.find命令的输入结果一个接一个的传递给xargs,做为ls -l的参数。it

find /etc -name "*.conf" | xargs ls -l 或者find /etc -name "*.conf" -exec ls -l {} \;

三、当你想下载一些URL,这些URL都保存在一个文件里,你能够以以下的方式使用xargs命令io

cat url-list.txt | xargs wget –c

四、找出全部的.jpg格式的图片,并将其归档。class

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

五、将全部的jpg图片文件复制到外置的硬盘中下载

ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
相关文章
相关标签/搜索