星空网 > 软件开发 > 操作系统

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

介绍

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

 

 

多行转换

[root@localhost test]# cat test0 1 2 3 45 6 7 8 9

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

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

[root@localhost 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

Linux xargs将输出数据流转换成命令参数images/loading.gif' data-original="http://images2015.cnblogs.com/blog/135426/201605/135426-20160516162131935-834977693.png" width="55%" />

界定符分隔

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

1.根据字符拆分

echo "111a222a333a444" |xargs -d a

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

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

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

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

 

命令传参

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

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

#!/bin/bashecho $* "end"

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

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

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

 

其它用法

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

vim bashtest

#!/bin/bashecho $1 $2 "end"

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

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

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

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

总结

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

 

 

 

备注:

    作者:pursuer.chen

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

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

《欢迎交流讨论》






原标题:Linux xargs将输出数据流转换成命令参数

关键词:linux

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

英国海外仓一个月多少费用:https://www.goluckyvip.com/tag/94721.html
虾皮海外仓费用:https://www.goluckyvip.com/tag/94722.html
美国海外仓费用是多少:https://www.goluckyvip.com/tag/94723.html
印尼海外仓如何收费:https://www.goluckyvip.com/tag/94724.html
海外仓的头程费用:https://www.goluckyvip.com/tag/94725.html
lazada海外仓费用:https://www.goluckyvip.com/tag/94727.html
​TikTok发生了什么?美区增长首次停滞,准入管理力度加大:https://www.kjdsnews.com/a/1836407.html
2024年如何找到在TikTok上发帖的最佳时间:https://www.kjdsnews.com/a/1836408.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流