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

前端之家收集整理的这篇文章主要介绍了shell – 简洁便携的“join”在Unix命令行上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将多行连接成一行,使用新行字符的分隔符,避免尾随分隔符,并且可选地忽略空行?

例。考虑一个文本文件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"," -

猜你在找的Bash相关文章