使用第一列作为 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

相关内容