首页 > 其他 > 详细

xargs命令

时间:2016-04-10 19:44:26      阅读:125      评论:0      收藏:0      [点我收藏+]

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

    通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代


    xargs是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。下面就是几个关于如何有效使用xargs命令的实例。

 

1、当你使用rm命令去删除很多的文件时,如:

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

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

这时可以用xargs来避免这个问题

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

2、获得/etc下所有以.conf结尾的文件。以下命令仅仅为了帮助大家理解如何使用xargs.find命令的输入结果一个接一个的传递给xargs,作为ls -l的参数。

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

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

cat url-list.txt | xargs wget –c

4、找出所有的.jpg格式的图片,并将其归档。

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

5、将所有的jpg图片文件复制到外置的硬盘中

ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory


本文出自 “hiyang” 博客,请务必保留此出处http://hiyang.blog.51cto.com/10728919/1762287

xargs命令

原文:http://hiyang.blog.51cto.com/10728919/1762287

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!