linux grep和Ruby之间的差异';s扫描结果
我有一份DNA序列列表(每行一个): ACTGCTCGGGGG CGCTCGCTTCTC 等 大多数序列包含两个特定的基序,一个靠近开头,一个靠近结尾。我正在提取中间的序列:linux grep和Ruby之间的差异';s扫描结果,ruby,regex,string,grep,Ruby,Regex,String,Grep,我有一份DNA序列列表(每行一个): ACTGCTCGGGGG CGCTCGCTTCTC 等 大多数序列包含两个特定的基序,一个靠近开头,一个靠近结尾。我正在提取中间的序列: 使用grep:grep“motif 1.*motif 2”inputfile>outputfile 在带扫描的ruby中,其中序列是一组DNA序列: sequences.each do |seq| tmp=seq.scan(/motif1.*motif2/)[0] outputfile << tmp
grep“motif 1.*motif 2”inputfile>outputfile
序列
是一组DNA序列:
sequences.each do |seq|
tmp=seq.scan(/motif1.*motif2/)[0]
outputfile << tmp if tmp
end
sequences.each do|seq|
tmp=顺序扫描(/Motion1.*Motion2/)[0]
默认情况下,outputfileRuby的scan
返回一个包含匹配正则表达式部分的数组。Grep不会这样做,如果color
设置为auto
,它将返回整行并突出显示匹配项。要仅从检索匹配的零件,请使用-o
选项
grep -o "motif1.*motif2" inputfile > outputfile
上一个命令应该保存与的扫描相同的输出。每个命令的输出是什么?我不熟悉ruby,但我猜ruby可能只返回匹配的部分,而grep默认不返回?--无论如何,请尝试grep-o“pattern”infle>outfile
。