彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 彩世界开奖app苹果下载 > Linux xargs将输出数据流转换成命令参数,linuxxar

Linux xargs将输出数据流转换成命令参数,linuxxar

发布时间:2019-08-30 09:31编辑:彩世界开奖app苹果下载浏览(185)

    Linux xargs将输出数据流转换成命令参数,linuxxargs

    我们可以用管道将一个命令的标准输出重定向到另一个命令的标准输出,但是有些命令只能以命令行参数的形式接收数据,而无法接受通过stdin的数据,这个时候我们就要用到xargs。
     
    xargs应该紧跟管道操作符之后。

    介绍

    我们可以利用管道将一个命令的“标准输出”作为另一个命令的“标准输入”;但是这里的标准输出都是数据流,但是某些命令的输入只接收参数命令不接收数据流,那么这种一般的方法就无法实现,这里就需要借助xargs命令。xargs可以将数据流转换成命令参数作为标准输入的参数,接下来就来详细了解xargs的用法。

     

     

    多行转换

    [[email protected] test]# cat test
    0 1 2 3 4
    5 6 7 8 9
    

    在当前的test的表中有0-9的两行记录,每个数字间以空格隔开

    1.单行显示,默认xargs会将换行符以空格替换

    [[email protected] test]# cat test|xargs 
    0 1 2 3 4 5 6 7 8 9
    

    2.多行显示,使用-n number参数

    number值表示每行显示的参数的数量且number必须大于0,如果number大于参数的数量就以参数最大的数量显示,例如每行显示一个参数。

    cat test|xargs -n 1
    

    图片 1

    界定符分隔

     xargs可以以单个字符作为一段文本的分界符,将文本拆分成多个部分以空格隔开,但是分解符只能是单个字符,不能是组合字符。

    1.根据字符拆分

    echo "111a222a333a444" |xargs -d a
    

    图片 2

    2.同时还可以结合-n参数拆分成多行显示

    echo "111a222a333a444" |xargs -d a -n 2
    

    图片 3

     

    命令传参

    接下来就可以看一下xargs怎样将标准输出数据流转换成命令参数

    接下来就以一个简单的bash举例

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

    这个参数接收参数并返回原参数并以end作为行结尾

    图片 4

    从上截图可以看出xargs将标准的输出作为参数传递给了bashtest

     

    其它用法

    当传递的命令存在多个参数而只需要给单独的某个参数传参数时,可以使用-I replace-str

    vim bashtest

    #!/bin/bash
    echo $1 $2 "end"
    

    我只需要将xargs的参数传递给$1

    cat test|xargs -n 1 |xargs -I str  ./bashtest str a
    

    图片 5

     注意:两边的replace-str的名称必须保持一致,名称不限。

    1.将多行转换为单行,将单行转换为多行。  

    总结

     xargs的使用技巧还有很多,有兴趣可以去慢慢摸索

     

     

     

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

    《欢迎交流讨论》

    xargs将输出数据流转换成命令参数,linuxxargs 介绍 我们可以利用管道将一个命令的标准输出作为另一个命令的标准输入;但是这里的标...

    [root@localhost 桌面]# cat show.txt
     
    wang
     
    Hunan Chenzhou
     
    123456  

     

    li
     
    Guangzhou Zhuhai
     
    654321  

     

    [root@localhost 桌面]# cat show.txt | xargs
     
    wang Hunan Chenzhou 123456 li Guangzhou Zhuhai 654321
     
    [root@localhost 桌面]# cat show.txt | xargs -n 4
     
    wang Hunan Chenzhou 123456
     
    li Guangzhou Zhuhai 654321  

     

    2.定界符,使用-d 选项  

    [root@localhost 桌面]# cat show.txt | xargs -d "n"
     
    wang Hunan Chenzhou 123456  li Guangzhou Zhuhai 654321  

     

    本文由彩世界平台发布于彩世界开奖app苹果下载,转载请注明出处:Linux xargs将输出数据流转换成命令参数,linuxxar

    关键词:

上一篇:没有了

下一篇:没有了