【发布时间】:2021-12-04 23:29:10
【问题描述】:
我的输入制表符分隔文件是这样的:
13435 830169 830264 a 95 y 16
09433 835620 835672 x 46
30945 838405 838620 a 21 c 19
94853 850475 850660 y 15
04958 865700 865978 c 16 a 98
在前三列之后,文件在下一列中显示变量及其值。我需要更改数据结构,以便在前三列之后,有这样的变量列:
a x y c
13435 830169 830264 95 16
09433 835620 835672 46
30945 838405 838620 21 19
94853 850475 850660 15
04958 865700 865978 98 16
在 linux 上是否有任何代码可以做到这一点? 文件大小为 7.6 MB,总行数约为 450,000。变量总数为四个。
谢谢
【问题讨论】:
-
在
bash pivot file上尝试谷歌搜索;更有效的方法通常会使用awk、perl或编译语言;您的问题将有点独特,因为您只是旋转文件的一部分;您可能还想更新问题以包含更多详细信息,例如文件大小(# of MBytes,# of lines,# of unique letters -a/x/y/c/how_many_more?,输入/输出分隔符) -
不是最有效的方式(但可能更容易),但为什么不加载到某种关系数据库中并在那里做呢?
-
你事先知道变量吗?
-
非常感谢大家。所有答案都有效,真的帮助我学习。我想知道是否可以选择接受多个答案。
-
@dawg:是的,我事先知道变量。感谢您在下面的回答。
标签: bash pivot pivot-table