使用第一列作为 csv 的标题

hol*_*asz 1 awk text-processing cut csv

我有一个输入文件如下

hello: hello12
foo: bar14
test3: pppp
more: stuff
test14: bla
Run Code Online (Sandbox Code Playgroud)

有没有办法使用第一列作为标题并用逗号分隔它,如下所示:

hello,foo,test3,more,test14
hello12,bar14,pppp,stuff,bla
Run Code Online (Sandbox Code Playgroud)

我尝试了一些方法但没有成功。

pLu*_*umo 5

cut您可以使用和的组合paste

paste -sd, <(cut -d: -f1 file) <(cut -d' ' -f2- file)
Run Code Online (Sandbox Code Playgroud)

或使用awk

awk -F': ' 'NR==1{h=$1;v=$2}
            NR>1{h=h","$1;v=v","$2}
            END{print h;print v}
' file
Run Code Online (Sandbox Code Playgroud)