zoukankan      html  css  js  c++  java
  • xargs 命令

    原文地址:https://www.cnblogs.com/xiaobaishuowoshigou/articles/5057118.html

    1.xargs含义

    翻译:从标准输入执行命令

    lih:记忆:x 是执行的意思;args是参数列表的意思。===>就是把参数传到后面,用这些参数去执行后面的语句。

    2.具体含义

    xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. 
    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.由此 这个命令也是后置引用的一个强有力的替换.在一般使用过多参数的命令替换失败的时候,用xargs来替换它一般都能成功.通常情况下,xargs从管道或 者stdin中读取数据,但是它也能够从文件的输出中读取数据. 
    xargs的默认命令是echo.这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代.

    如: 
    bash$ ls -l 
    total 0 
    -rwxr-xr-x 2 root root 4096 2009-02-23 090218.txt 
    -rwxr-xr-x 2 root root 12288 2009-06-08 090607.txt 
    bash$ ls -l | xargs 
    090218.txt 090607.txt 
    bash$ find ~/mail -type f | xargs grep "Linux" 
    ./misc:User-Agent: slrn/0.9.8.1 (Linux) 
    ./sent-mail-jul-2005: hosted by the Linux Documentation Project. 
    ./sent-mail-jul-2005: (Linux Documentation Project Site, rtf version) 
    ./sent-mail-jul-2005: Subject: Criticism of Bozo's Windows/Linux article

    3.实例:另一个博客看的

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

    1. 当你使用rm命令去删除很多的文件时,你可能会得到错误信息:“/bin/rm Argument list too long – Linux”。这时可以用xargs来避免这个问题

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    re.sub函数的深入了解
    xpath
    改变评分查询
    Boolean Query
    固定分数查询
    Unicode编码的原型
    java中基本类型占用字节数
    Java Socket网络编程的经典例子(转)
    (转)工厂模式
    (转)java垃圾回收机制
  • 原文地址:https://www.cnblogs.com/dyh004/p/10273863.html
Copyright © 2011-2022 走看看