【发布时间】:2021-04-22 05:07:12
【问题描述】:
如何合并多个列(并制作参考列)并根据条件对数据进行排序(如果数据不足,将留下空格、逗号或制表符)
这里是输入:
Column A
00-03
00-06
00-14
00-25
00-54
00-59
01-08
01-42
01-49
01-59
02-08
02-10
02-17
02-18
02-23
02-48
02-51
02-54
02-57
Column B
00-04
00-44
00-51
01-11
01-25
01-43
02-00
02-03
02-24
Column C
00-19
00-46
01-21
01-26
01-38
01-47
01-49
01-52
01-58
02-16
02-20
02-57
02-58
我尝试使用 "paste -d ','" ,它可以合并所有列,但如果数据不够,它不会留下空行。是否有任何方法或工具可以合并列并根据条件对列进行排序?
这是我想要的输出:
Heading,ColumnA,ColumnB,ColumnC
00,00-03,00-04,00-19
00,00-06,00-44,00-46
00,00-14,00-51,
00,00-25,,
00,00-54,,
00,00-59,,
01,01-08,01-11,01-21
01,01-42,01-25,01-26
01,01-49,01-43,01-38
01,01-59,,01-47
01,,,01-49
01,,,01-52
01,,,01-58
02,02-08,02-00,02-16
02,02-10,02-03,02-20
02,02-17,02-24,02-57
02,02-18,,02-58
02,02-23,,
02,02-48,,
02,02-51,,
02,02-54,,
02,02-57,,
【问题讨论】:
-
由于这是一项非常具体的任务,我认为您无法单独使用简单的标准工具来解决它。我会编写一个程序,明确表达这里必须做什么。 可以在 bash 中完成,但在更通用的语言(Ruby、Perl、Python)中会更容易一些。您基本上需要并行管理 3 个输入流和一个输出流。