将单列拆分为多行,然后格式化数据

将单列拆分为多行,然后格式化数据

我需要一些帮助,我在单列中包含以下格式的数据:

A:1   
B:2   

A:3   
C:8   
B:2   

C:4   
B:2 

需要以下格式的输出:

A,B,C
1,2,
3,2,8
,2,4

请推荐!!

答案1

使用足够新的版本磨坊主

$ ~/src/miller/c/mlr --ixtab --ips ':' --ocsvlite clean-whitespace then unsparsify yourfile
A,B,C
1,2,
3,2,8
,2,4

如果您的数据没有尾随空格,则可以省略 ,clean-whitespace在这种情况下,旧版本的mlr就足够了。如果您有一个版本没有clean-whitespace但您的数据需要它,那么您可以将其与单独的工具结合使用,例如sed

sed 's/ *$//' yourfile | mlr --ixtab --ips ':' --ocsvlite unsparsify

相关内容