zoukankan      html  css  js  c++  java
  • 玩转xargs

      xargs命令可以把标准输入数据转换成命令行参数。也可以将单行或多行文本输入转换成其他格式,是构建单行命令的重要组件之一。

      xargs命令应该紧跟在管道操作符之后,以stdin作为主要的源数据流,使用格式:

      COMMAND | xargs [OPTIONS] ...

      示例一:将多行输入转换成单行输出

      

      示例二:将单行输入转换成多行输出

      

      -n:是每行的最大参数的个数

      空格是xargs的默认输入定界符,如下示例所示:

      

      -d DELIM:以指定字符为输入定界符

      示例三:读取stdin,将格式化参数传递给命令

      定义一个简单脚本test.sh:

    #!/bin/bash
    #
    echo $*"#"

      定义一个脚本参数列表文件args.txt:

      

      通过xargs命令可以实现一次向脚本传递n个参数,如:

      

      有时候,除了向脚本传递一些可变参数外,还有一些固定不变的命令参数,如何实现变化的参数和固定的参数一起传递给脚本执行呢?

      例如,要实现以下效果:

        ./test.sh -p arg1 -d

               ./test.sh -p arg2 -d

        ./test.sh -p arg2 -d

      这时候就用到-I选项了,先看效果:

      

      -I {} 指定了替换字符串。对于每一个命令参数,字符串{}都会被从stdin读取到的参数替换掉。

      示例四:与find配合使用完成相应功能

      最好的实现方式是:把find的输出作为xargs的输入,就必须将-print0与find结合使用,以字符null('')来分隔输出。 

    /*示例*/
    find ./ -type f -name "*.txt" -print0 | xargs -0 rm -f

      xargs -0 :将作为输入定界符

       

  • 相关阅读:
    Python 远程开机
    Python 爬虫利器 Selenium
    Python爬虫——Python 岗位分析报告
    Python 爬虫入门(二)——爬取妹子图
    Python 爬虫入门(一)——爬取糗百
    边缘计算—你了解吗?
    关于图片适配不同尺寸的image View(实战)
    HTML页面转换为Sharepoint母版页(实战)
    SharePoint中你不知道的图片库(实战)
    Sharepoint 2013搜索服务配置总结(实战)
  • 原文地址:https://www.cnblogs.com/trymybesttoimp/p/6375813.html
Copyright © 2011-2022 走看看