如何将分组.txt列表导出到列格式的.csv



我在.txt文件中有一个分组列表,我正在尝试将其转换为.csv文件,可以使用 bash 以以下格式将其导出到 Excel。有谁知道如何做到这一点?

源语言:

名称: aaaa

所有者:aaa

随叫随到:aa

--

名称: BBBB

业主: BBB

随叫随到:BB

--

名称:中交

业主:CCC

随叫随到:抄送

所需格式:

姓名、所有者、待命

bbbb, bbb, bb,

中交、中交、中交、中交

谢谢!

尝试"转置行和列:3 种方法">

http://www.thelinuxrain.com/articles/transposing-rows-and-columns-3-methods

使用 awk:

awk -v RS='--' 
'!header++{
for(i=1;i<=NF;i=i+2)
printf "%s%s",substr($i,1,length($i)-1),(i==NF-1?"n":",")
}{
for(i=2;i<=NF;i=i+2)
printf "%s%s",$i,(i==NF?"n":",")
}' file

记录分位器设置为--,以便一次捕捉 3key: value

第一个块语句仅打印一次标头。

第二个块语句循环访问找到的值,并使用逗号作为分隔符打印它们。

最新更新