加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 简洁便携的“join”在Unix命令行上

发布时间:2020-12-15 16:35:05 所属栏目:安全 来源:网络整理
导读:如何将多行连接成一行,使用新行字符的分隔符,避免尾随分隔符,并且可选地忽略空行? 例。考虑一个文本文件foo.txt,有三行: foobarbaz 所需的输出是: foo,bar,baz 我现在使用的命令: tr 'n' ',' foo.txt |sed 's/,$//g' 理想情况下会是这样的: cat fo
如何将多行连接成一行,使用新行字符的分隔符,避免尾随分隔符,并且可选地忽略空行?

例。考虑一个文本文件foo.txt,有三行:

foo
bar
baz

所需的输出是:

foo,bar,baz

我现在使用的命令:

tr 'n' ',' <foo.txt |sed 's/,$//g'

理想情况下会是这样的:

cat foo.txt |join,

什么是:

>最便携,简洁,可读的方式。
>最简洁的方式使用非标准的unix工具。

当然我可以写东西,或者只是使用别名。但我有兴趣知道的选择。

也许有点令人惊讶的是,粘贴是一个很好的方法来做到这一点:
paste -s -d","

这不会处理你提到的空行。为此,通过grep管道您的文本,第一:

grep -v '^$' | paste -s -d"," -

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读