微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux-从外壳输出CSV文件

嗨,我有这种格式的输入文件.

[Header A]
key1 value1
key2 value2

[Header B]
header1    header2    header3   // separated by tab
1            2          3     //separated by tab
a            b          c     //separated by tab

[Header C]
a
b
c

我必须将HeaderB中的内容输出为另一个csv文件
因此,CSV文件看起来像

header1,header2,header3
1,2,3
a,b,c

我写了一个python脚本来做到这一点,但要求它通过shell命令来完成.我对编写复杂的Shell命令没有太多想法.有人能帮我吗.

谢谢

解决方法:

这将为您工作:

awk -F'\t' '/\[Header B\]/{f=1;next} /^$/{f=0} f{gsub(/\t/,",");print}' file

$awk -F'\t' '/\[Header B\]/{f=1;next} /^$/{f=0} f{gsub(/\t/,",");print}' file
header1,header2,header3
1,2,3
a,b,c

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐