最初の列をcsvのヘッダーとして使用する

最初の列をcsvのヘッダーとして使用する

次の入力ファイルがあります。

hello: hello12
foo: bar14
test3: pppp
more: stuff
test14: bla

最初の列をヘッダーとして使用し、次のようにコンマで区切る方法はありますか?

hello,foo,test3,more,test14
hello12,bar14,pppp,stuff,bla

いくつか試してみましたが、成功しませんでした。

答え1

cut次の組み合わせを使用できますpaste

paste -sd, <(cut -d: -f1 file) <(cut -d' ' -f2- file)

または以下を使用してくださいawk

awk -F': ' 'NR==1{h=$1;v=$2}
            NR>1{h=h","$1;v=v","$2}
            END{print h;print v}
' file

関連情報