如何将列转换为逗号分隔的列表

时间:2019-06-03 15:06:41

标签: bash grep

我有一个

command | grep 1 -e 2 -e 3 > file.txt

结果是

1
2
3

但是我希望结果是

1, 2, 3

1 个答案:

答案 0 :(得分:0)

假设您有一些列是详细命令command的输出。此类命令的示例可以是grepcutawk,...。您获得的输出是:

$ command
1
2
3 4
5

如果要将其转换为以单个字符c作为分隔符的单列,则可以

$ command | paste -s -d c
1c2c3 4c5

或者在OP的问题下:

$ command | grep 1 -e 2 -e 3 | paste -sd, > file

有些替代方法可以将其转换为多字符fs

$ command | sed ':a;N;$!ba;$s/\n/fs/g'
$ command | awk '{printf (FNR==1?"":"fs")$0}END{print""}'