リストされている各項目にカンマを追加する方法

リストされている各項目にカンマを追加する方法

私のシェルプログラムでは、サーバーから名前を切り取ってマークしました。

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を持っていて、-zそれをslurpモードと拡張正規表現モードで動作していると仮定します-E。まず、すべての改行をコンマに変更してから、最後のコンマを削除します。

関連情報