我正在尝试搜索一个 grep 命令,该命令允许我在特定长度(在我的例子中为 6)中间具有随机序列的每一行中提取两个模式(单词):
ATCAACGCAGAGTACATXXXXXXGGG
在我的例子中,我有两个单词:“ATCAACGCAGAGTACAT”和“GGG”,中间有 6 个字母“XXXXXX”,但这些可以是任何字母。
我已经查看了现有的解决方案,但我认为没有专门针对此解决方案。
输入
ACGCAACGACGACG**ATCAACGCAGAGTACAT****XXXXXX****GGG**AATTTA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
GGAACGTTGCCAAG**ATCAACGCAGAGTACAT****XXXXXXXXX****GGG**ATG (this does not match for example)
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
输出
ACGCAACGACGACG**ATCAACGCAGAGTACAT****XXXXXX****GGG**AATTTA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
其中“XXXXXX”可以是 A、C、T、G 的任意组合,如 AATCGA 或 AAATCC 等。
我怎样才能用grep
or做到这一点sed
?
答案1
尝试
grep "ATCAACGCAGAGTACAT[ACGT]\{6\}GGG" file