匹配两个单词之间具有恒定的随机字符

匹配两个单词之间具有恒定的随机字符

我正在尝试搜索一个 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 等。

我怎样才能用grepor做到这一点sed

答案1

尝试

grep "ATCAACGCAGAGTACAT[ACGT]\{6\}GGG" file

相关内容