CSV行在UNIX SCRIPT中拆分和对齐

时间:2013-01-10 16:53:33

标签: shell unix csv

是否可以拆分和对齐CSV行,如下所示?

ID Value
========
1  10
--------
2  20
--------
3  14
--------

请将上述视为csv,无需关心第2列(值)。 我想拆分第一列(ID)并保存结果/存储另一个文件。

输出应该是:1,2,3

2 个答案:

答案 0 :(得分:1)

awk '!/^[-=]/ && NR!=1{str=str","$1}END{print substr(str,2)}'

测试here

答案 1 :(得分:1)

您的问题没有明确说明,但对于您的具体示例,您可以这样做:

{ awk 'NR>2 && ! /^--/ { print $1 }' | tr \\n ,; echo; } < input > output

或者也许:

< input-file awk 'NR > 1 && NR%2 { print $1 }' | paste -d, -s > output