file.contain.query.txt
ENST001
ENST002
ENST003
Run Code Online (Sandbox Code Playgroud)
file.to.search.in.txt
ENST001 90
ENST002 80
ENST004 50
Run Code Online (Sandbox Code Playgroud)
因为ENST003在第二个文件中没有条目且ENST004在第一个文件中没有条目,所以预期的输出是:
ENST001 90
ENST002 80
Run Code Online (Sandbox Code Playgroud)
要在特定文件中grep多查询,我们通常执行以下操作:
grep -f file.contain.query <file.to.search.in >output.file
Run Code Online (Sandbox Code Playgroud)
因为我在file.to.search中有10000个查询和几乎100000个原始文件,所以需要很长时间才能完成(比如5个小时).有没有grep -f的快速替代品?
我想删除在第四次出现的字符":"之后的任何字段中包含它.看例子:
输入:
1 10975 A C 1/1:137,105:245:99:1007,102,0 0/1:219,27:248:20:222,0,20
1 19938 T TA ./. 1/1:0,167:167:99:4432,422,0,12,12
12 20043112 C G 1/2:3,5,0:15:92 2/2:3,15:20:8
Run Code Online (Sandbox Code Playgroud)
预期产量:
1 10975 A C 1/1:137,105:245:99 0/1:219,27:248:20
1 19938 T TA ./. 1/1:0,167:167:99
12 20043112 C G 1/2:3,5,0:15:92 2/2:3,15:20:8
Run Code Online (Sandbox Code Playgroud)
所以基本上任何具有":"的字段都应该被删除.请注意,第三行没有任何变化,因为":"仅出现三次.我试过并找到了一个解决方案(不好),它不仅适用于第一行而不适用于secod,因为它有更多的逗号","
不完整的解决方案:
sed 's/:[0-9]*,[0-9]*,[0-9]*//g'
Run Code Online (Sandbox Code Playgroud)
提前致谢
我有以下文件
ENST001 ENST002 4 4 4 88 9 9
ENST004 3 3 3 99 8 8
ENST009 ENST010 ENST006 8 8 8 77 8 8
Run Code Online (Sandbox Code Playgroud)
基本上我想计算ENST*在每一行中重复多少次,因此预期的结果是
2
1
3
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?