码迷,mamicode.com
首页 > 其他好文 > 详细

xargs命令

时间:2016-04-10 19:45:52      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:linux命令 xargs

    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命令

标签:linux命令 xargs

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!