我有一个很大的 fasta 序列文件和一个 ID 列表。我需要grep
使用来自另一个文件的 ID 获取一些带标题的序列。以下是文件示例。
文件 1:
>AB1234
ACGTAGATA
>AB3456
ACGATAGAT
>AB4567
ACGTGTGA
文件 2
>AB1234
>AB3456
答案1
您可以grep
从文件中读取模式,每行一个模式,使用以下-f
选项:
grep -x -F -A 1 -f 'File 2' 'File 1'
此外,
-F
按字面意思解释模式,而不是正则表达式,-x
仅匹配整行,-A N
打印N
每次匹配后的行。
答案2
我让它工作了:
for i in $(cut -d" " -f1- file2); do grep -o "$i" file1 | tee -a result.txt; done
假设file1
==id
文件,并且file2
== 要进行 greped 的文件
结果.txt:
AB1234
AB3456