模式文件返回所有行而不是目标的grep
我尝试使用grep在第二个文件中使用模式列表对文件进行子采样。然而,每当我运行它时,grep只返回第一个文件中的所有内容模式文件返回所有行而不是目标的grep,grep,Grep,我尝试使用grep在第二个文件中使用模式列表对文件进行子采样。然而,每当我运行它时,grep只返回第一个文件中的所有内容 grep -A1 -w --file=Fmerg_U1_filtering.txt Fmerg_final.fasta 然而,当我使用这个更麻烦的方法时,它工作得非常好 #!/bin/bash while read i; do grep -A1 -w $i Fmerg_final.fasta done < Fmerg_U1_filtering.txt 很可
grep -A1 -w --file=Fmerg_U1_filtering.txt Fmerg_final.fasta
然而,当我使用这个更麻烦的方法时,它工作得非常好
#!/bin/bash
while read i; do
grep -A1 -w $i Fmerg_final.fasta
done < Fmerg_U1_filtering.txt
很可能,
Fmerg\u U1\u filtering.txt
中的文本有尾随/前导空格
假设有尾随空格,则带有--file
的grep命令也将尝试匹配这些空格,但是带有$i
(不带引号)的shell脚本将忽略这些空格
因此,请检查文件
Fmerg\u U1\u filtering.txt
,删除前导/尾随空格。您的txt
文件中有空行吗?就是这样。谢谢你,马克!或空行。谢谢,这个答案帮助很大
head Fmerg_U1_filtering.txt
Transcript_25
Transcript_455
Transcript_526
Transcript_631
Transcript_631