我希望将文件从宽格式转换为长格式,最好使用linux语句或python语句。 我的输入数据看起来像这样:
head1 M1 M2 M3 M4 M5 M6 M7
abcd A B C D E F G
efgh A B C D E F G
ijkl A B C D E F G
并希望输出如下:
abcd A
abcd B
abcd C
abcd E
abcd F
abcd G
efgh A
efgh B
efgh C
...
是否可以这样做,我遇到了R代码,但由于文件非常大,我宁愿避免使用它?
谢谢
答案 0 :(得分:1)
要求救援!
$ awk '{for(i=2;i<=NF;i++) print $1,$i}' file
head1 M1
head1 M2
head1 M3
head1 M4
head1 M5
head1 M6
head1 M7
abcd A
abcd B
abcd C
abcd D
abcd E
abcd F
abcd G
efgh A
efgh B
...
如果您想跳过标题
$ awk 'NR>1{for(i=2;i<=NF;i++) print $1,$i}' file