【发布时间】:2018-04-03 02:48:19
【问题描述】:
我有一个包含 7 列数据的文本文件,格式如下:
18030 AAJ51 FTO rs9939609 C__30090620_10 A T
18030 AAJ51 CAT rs1001179 C__11468118_10 C C
18030 AAJ51 CCL2 rs1024611 C___2590362_10 G G
18030 AAJ51 TAS2R38 rs10246939 C___9506826_10 C C
20287 AAJ51 FTO rs9939609 C__30090620_10 A T
20287 AAJ51 CAT rs1001179 C__11468118_10 C C
20287 AAJ51 CCL2 rs1024611 C___2590362_10 A G
20287 AAJ51 TAS2R38 rs10246939 C___9506826_10 T T
第 2 列、第 3 列第 4 列和第 5 列是恒定的并重复。
变量是第 1 列、第 6 列和第 7 列。
我想用这种方式转置数据:
FTO CAT CCL2 TAS2R38
rs9939609 rs1001179 rs1024611 rs10246939
18030 AT CC GG AT
20287 AT CC AG TT
虽然示例显示每个 ID 有 4 行(第一列中的 5 位数字是 ID),但实际文件每个 ID 有 128 行,因此执行匹配或正则表达式不切实际,并且更喜欢迭代行数。
我在converting n number of rows 上看到了这个例子,但我不确定如何修改这个应用程序。
更新:CRLF 结尾可能会导致格式问题,可以使用 dos2unix 等工具解决此问题
【问题讨论】:
标签: awk