如何解决Unix或Python3检索所有以“ N_”开头的列
我有一个6GB的文件,具有〜1000行和〜4,000,000列。格式如下:
ID SEX PV APV N_rs1982983 E_rs1982983 N_rs95645 E_rs95645
1 0 45.2 11.1 0 2 0 1
2 1 34.4 10.8 1 1 1 1
使用unix或Python3,我想检索所有以字符串“ N_”开头的列。 3-4列具有浮点数,其余的则具有整数。
解决方法
400万列看起来很疯狂,但是假设您有相当数量的可用内存,那么这种perl
单线应该可以解决问题(我不知道python,抱歉):
$ perl -lane 'if ($. == 1) {
$,= " ";
for (0..$#F) {
push @cols,$_ if $F[$_] =~ /^N_/
}
}
print @F[@cols]' input.txt
N_rs1982983 N_rs95645
0 0
1 1
基本上,由于awk
的存在,它将每一行拆分为-a
这样的空白列,并将其分成数组@F
。在第一行中,它将建立以N_
开头的所有列的索引列表,并仅打印出所有行的那些列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。