Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开

  1. 云栖社区>
  2. 博客列表>
  3. 正文

Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开

easonjim 2018-01-20 10:21:00 浏览131 评论0

摘要: 准备: cat test.txt 1 3 4 示例: cat test.txt | xargs 1 3 4 可以看出得到的字符串为空格隔开的。 再把上面的字符串用逗号隔开,可以使用tr命令进行空格的替换 cat test.txt | xargs | tr ' ' ',' 不过tr命令只能替换单个字符,多个字符无法实现。

准备:

cat test.txt
1
3
4

示例:

cat test.txt | xargs
1 3 4

可以看出得到的字符串为空格隔开的。

再把上面的字符串用逗号隔开,可以使用tr命令进行空格的替换

cat test.txt | xargs | tr ' ' ','

不过tr命令只能替换单个字符,多个字符无法实现。

使用sed实现多个字符串的替换:

cat test.txt | xargs | sed /s/ /','/g

sed可以替换多个字符串,可以弥补tr的不足,后面g表示匹配多个。

 

总结:

替换和合并命令有很多,主要是看你怎么去解这道题,这里主要是基于xargs和tr实现的,当然,还可以使用sed命令去替换,sed命令支持多个字符串。

 

参考:

http://man.linuxde.net/xargs(xargs用法)

http://man.linuxde.net/tr(tr用法)

http://man.linuxde.net/sed(sed用法)

http://bbs.chinaunix.net/thread-1631249-1-1.html

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击

网友评论

easonjim
文章2268篇 | 关注50
关注
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、Po... 查看详情
阿里云9.10会员日

阿里云9.10会员日