小编but*_*utt的帖子

在Unix命令行上简洁便携的"加入"

如何将多行连接到一行,使用分隔符表示换行符,并避免使用尾随分隔符,并可选择忽略空行?

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

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

所需的输出是:

foo,bar,baz
Run Code Online (Sandbox Code Playgroud)

我现在使用的命令:

tr '\n' ',' <foo.txt |sed 's/,$//g'
Run Code Online (Sandbox Code Playgroud)

理想情况下它会是这样的:

cat foo.txt |join ,
Run Code Online (Sandbox Code Playgroud)

什么是:

  1. 最便携,简洁,可读的方式.
  2. 使用非标准unix工具的最简洁方法.

当然我可以写一些东西,或者只是使用别名.但我很想知道这些选择.

unix shell

74
推荐指数
4
解决办法
2万
查看次数

标签 统计

shell ×1

unix ×1