如何为每个列出的项目添加逗号

如何为每个列出的项目添加逗号

在我的 shell 程序中,我只是剪切服务器中的名称并显示它们,

echo `last | grep "pts" | sort | cut -d' ' -f1 | uniq |  grep -v / `"."

给我一个输出

a22casti 
a22sahot 
a25zhang 
a298wong 
a2abdiri 
a2arya 
a2mukhop 
a3vena.

我怎样才能让它添加逗号所以它

a22casti,
a22sahot,
a25zhang,
a298wong,
a2abdiri,
a2arya,
a2mukhop,
a3vena.

我尝试添加tr '\n' ',',但它会在句子末尾添加一个逗号 a3vena,.

答案1

您可以在每行末尾添加一个逗号,然后在最后一行将其删除:

sed -e 's/$/,/' -e '$s/,$//'

答案2

paste -sd, -

会给你想要的输出。或者尝试以下sed版本:

在管道中grep添加以下内容后:

sed -Ez 'y/\n/,/;s/,$//'

这假设您有 gnu sed 并且您正在 slurp 模式-z和扩展正则表达式模式下操作它-E。首先,我们将所有换行符更改为逗号,然后删除最后一个逗号。

相关内容