특정 길이(내 경우에는 6)의 중간에 임의의 순서로 각 줄에서 두 개의 패턴(단어)을 추출할 수 있는 grep 명령을 검색하려고 합니다.
ATCAACGCAGAGTACATXXXXXXGGG
내 예에는 "ATCAACGCAGAGTACAT"와 "GGG"라는 두 단어가 있고 그 사이에 "XXXXXX"라는 6개의 문자가 있지만 어떤 문자라도 가능합니다.
기존 솔루션을 살펴봤지만 이에 대한 특별한 솔루션은 없다고 생각합니다.
입력하다
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"는 AATCGA, AAATCC 등 A, C, T, G의 임의 조합이 될 수 있습니다.
grep
또는 을 사용하여 이 작업을 어떻게 수행할 수 있습니까 sed
?
답변1
노력하다
grep "ATCAACGCAGAGTACAT[ACGT]\{6\}GGG" file