如何选择那些值为< 10个来自21列和150行的大矩阵的值。
miRNameIDs degradome AGO LKM......till 21
osa-miR159a 0 42 42
osa-miR396e 0 7 9
vun-miR156a 121 77 4
ppt-miR156a 12 7 4
gma-miR6300 118 2 0
bna-miR156a 0 114 48
gma-miR156k 0 46 1
osa-miR1882e 0 7 0
.
.
.
所需的输出是: -
miRNameIDs degradome AGO LKM......till 21
vun-miR156a 121 77 4
gma-miR6300 118 2 0
bna-miR156a 0 114 48
.
.
.
till 150 rows
答案 0 :(得分:5)
使用perl one-liner
perl -ane 'print if $. == 1 || grep {$_ > 50} @F[1..$#F]' file.txt
切换:
-a
:拆分空间线并将其加载到数组@F
-n
:为输入文件中的每个“行”创建一个while(<>){...}
循环。 -e
:告诉perl
在命令行上执行代码。 <强>代码强>:
$. == 1
:检查当前行是否为第1行。grep {$_ > 50} @F[1..$#F]
:查看数组中的每个条目,看它是否大于50. ||
:逻辑OR
运算符。如果我们上述条件中的任何一个为真,则打印该行。