How to extract the partial matching strings among two files?

I have a two file as shown below,
file:1

>Contig_152_415 [51615 - 50833] (REVERSE SENSE) 
>Contig_152_420 [50829 - 50215] (REVERSE SENSE) 
>Contig_152_472 [46116 - 45550] (REVERSE SENSE) 
>Contig_152_484 [44618 - 44079] (REVERSE SENSE)  
File:2
>Contig_152:49081-49929
ATCGAGCAGCGCCGCGTGCGGTGCACCCTTGTGCAGATCGGGAGTAACCACGCGCACGGC
GGAACGACGGCCGGGAGAGGTGGGTTTGAACTTCATCAATGGCATGGGATGGACCTCAGG
CCTTGGCCG
>Contig_152:50833-51615
CGGAGTAGCTTCGATCAGCGTGACCGGTACCGAGCGACCGTCTTCAGTGAAGACGCGGCT
CATACCAGCCTTGCGGCCCACGAAGCCCAACGAATATTTCTTCGTCATGGTCGTAGTCCT
CAGGTCAGCTTGATCTGGACGTCGACGCCAGCCGCGAGTTCGAGCTTCATCAGCGCGTCC
ACGGTCTTGTCGTTCGGGTCGACGATATCGAGCACACGCTTGTGCGTGCGGGTTTCGTAT
TGG
>Contig_152:50215-50829
TGCCAGCCACTCCTCGACCTTCTTGACCGCGTCGGCGGTGATCACGACCGTATCGGCCCC
GACCAGAGCGACCGGATCCAGACCCTGCACGTCACGCACCTGCACATACGGCAGGTTGCG
AGCGGACAGATACAGGTGCTCGGAAGCCTCTTCGGTGACGATCAGCGGGCGCTTGCCCAC
>Contig_152:45550-46116
GTTACGGAACGGGAACTTGAACGCTGCCAGCAGCGCCTTCGCTTCCGCATCCGTCTTGGC
GGTGGTGGTGATGGCGATATCCATACCGCGGATCGCGTCGACGGCGTCGAAGTCGATTTC
>Contig_152:44079-44618
AGCCTTCTTGGCTTCCTTGCGAATGATGACTTCACCGGCGTACTTCACACCCTTGCCCTT
GTAGGGCTCCGGCGGACGGAAACCGCGAATCTTGGCGGCAACTTCGCCGACGCGCTGCTT
>Contig_65:14454-14897
GCCCTCCACCGTCAAACCCATGCTGCGGGCAGAACCCGCAATCGTACGCACCGCCGCTTC
CAGCTCGGCTGCCGTCAAATCGGCTTCCTTGACCTTGGCGATCTCTTCCAGCTGCTTGCG
>Contig_65:12254-12652
CTTGATTTCGACAGTCGCGCCAGCTTCGGTCAGTTCCTTCTTGATCTTCTCGGCTTCGTC
CTTCGAAGCGCCTTCCTTCAGCATGCCACCGGCTTCGGTCAGATCCTTGGCTTCCTTCAG
ACCCAGGCCGGTCACGGCGCGGACGGCCTTAATGACGCCGACCTTGTTGGTGCCACAGTT
GGTCAGCACCACGTTGAACTCGGTCTGCTCTTCAACCACGGCGGCCGGGCCAGCTGCAGC
AGCAGCGACCGGGGCAGCGGCGGAGACGCCGAACTTTTCTTCGATGGCCTTGACCAGCTC
CATCACTTCCATCAGGGACTTCTCGGCGATGGCGTCGACGATCTGTTCGTTGGTAAGGGA
CATTGTGATTACCTTTAAATGATTTTCTGGATTGGGGTT
>Contig_152:46437-46805
CAGCACTTCGGGAGCGAGCGAGACGATCTTCATGAACTTCTCGGAACGCAGCTCGCGCGT
CACCGGCCCGAAGATGCGGGTCCCGATCGGCTCCTGCTTATTGTTCAACAGCACAGCGGC
>Contig_152:47286-47711
GCGCACCGTCCGGGTCACGAAAGTGGTGGTCACCGAGAGCTTGGCAGCGGCAAGGCGGAA
CGCCTCACGTGCGGTCTCTTCGGGGATTCCCTCGATTTCATAGATCATGCGGCCCGGCTG
CTCGCT
>Contig_83:12952-13500
GGGCTCACCCCTAGCTCTTGCAAGATGGATTGGGGTACAATATGCGGCTTGCTGGCCAGC
CTTGCGTCTGGCCCTCCTACGAACCTCGAGCAATCGCCGTGCGGCGACTGCCGGTCCAAT
AAGGCGGAG
>Contig_98:34509-34868
TGCCGCCAGCGCGCCCTTTGCCTTCTCGGCCAGCGCGGCAAAGCCGGCGGCGTCGTGCAC
GGCGATATCGGCCAGCACCTTACGGTCCAGGGTGATGCCAGCCTTGAGCAGGCCATTCAT
>Contig_49:5824-6093
GGAGAACCAGTCATGGCACATAAAAAGGGCGTAGGTTCCTCGCGCAACGGTCGCGATTCC
AACCCGAAGTACCTCGGCGTGAAGATCTTCGGTGGCCAGGCCATCGACGCCGGCAACATC
>Contig_65:7816-11976
GTCTTCCTGCAGGAATTCGCGATAGGAATCCACCTGGATGGCAAGCAGGAACGGCACTTC
GAGGATCGAGCGCTGCTTACCGAAGTCCTTGCGGATACGCTTTTTTTCGGTGAACGAATA
AGACGTCATGAGGTCTTCACC
>Contig_1:95028-96590
GGAGGACGTAGCCGGCCAGGTCGTCGCGGATGTTGCGGCGGGTACCGCCGGCATCGATAT
AGGCCAGGTCGGCCAGGCGCGCATGGCTGGGGCCGGAATTGTAGATGCGCAACGCGCGCT
GGCTGCCGTGCCCGGCCAGGCTGGCATGCAGCGCCGGTTGCGCTGCGCGGGCATGGCTGG
GCTGTGCAAACACGGGGGTGGAATAACGCAGCAGGTCGGTCTCGTTGCCGATCGCGTGCT
GGG
>Contig_152:47705-48556
GATGTCCTCACCACGCTTGCCGATCACCACACCCGGACGGGCGGTGTGAATGGTCACGCG
GGCGGTTTTGGCAGGGCGCTCGATCAAGATCTTGCTGACACCTGCCTGCGCGAGCTTCTT
>Contig_152:42930-43502
GCCCTTGACCGTCTTGCTGACGCGATTGACCGCGACCAGCTTTTCGATCATGCCATCGTC
GACTTTCTCTTCGCGGTTACGGTCGCGATCACGACCCCGCGGTGCACGTTCTTCTGCCAT
CTTGATTCCTTGATTGATTGAGTATGTACGGCT
>Contig_152:51495-51989
TCCGCCCAAAAACTGAGGCAGCCCGGTAACCCGGCCTGCCCAGACGGAAAAGTATAATGC
GCAACAAGAGCACGG
>Contig_152:39834-40226
GACGCGACGCTTCTTCGGCGGACGGCACCCGTTGTGCGGGATTGGCGTCACGTCGATGAT
GTTGGTGATCTTGTAGCCCACGTTGTTCAACGAACGCACGGCCGACTCACGGCCCGGACC
>Contig_152:40237-40797
CTTCCTGATCGCCTTGCGCGGACCCTTGCGGGTGCGGGCGTTGGTACGGGTGCGCTGACC
ACGCAGCGGAAGACCACGGCGATGACGCAGACCGCGATAGCAGCCCAGGTCCATCAGTCG
>Contig_152:48805-49077
CCTGCCCGACTTCTTGTCGCCACCGTGACCCTTGAAGGTCCGGGTGACGGCAAATTCGCC
GAGCTTGTGGCCGACCATATTCTCGTTGACGAGCACCGGAATGTGGTTCTTGCCGTTATG
>Contig_1:93980-94864
GGCCAGGCCGGCCTGCTTCATCACTTCGGCGGCGTAGTCTTCCACCACCTTCTCGATGCC
TTCGCCAACGGCCAGGCGCTGGAAGCCGATCACTTCGGCGCCGGCGGCCTTGACTGCCTG

Both files (first file single and second file fasta header) strings are partially common to each other. I need to extract the 2nd file fasta sequences based on the first file.

The expected output
>Contig_152:50833-51615
CGGAGTAGCTTCGATCAGCGTGACCGGTACCGAGCGACCGTCTTCAGTGAAGACGCGGCT
CATACCAGCCTTGCGGCCCACGAAGCCCAACGAATATTTCTTCGTCATGGTCGTAGTCCT
CAGGTCAGCTTGATCTGGACGTCGACGCCAGCCGCGAGTTCGAGCTTCATCAGCGCGTCC
ACGGTCTTGTCGTTCGGGTCGACGATATCGAGCACACGCTTGTGCGTGCGGGTTTCGTAT
TGG
>Contig_152:50215-50829
TGCCAGCCACTCCTCGACCTTCTTGACCGCGTCGGCGGTGATCACGACCGTATCGGCCCC
GACCAGAGCGACCGGATCCAGACCCTGCACGTCACGCACCTGCACATACGGCAGGTTGCG
AGCGGACAGATACAGGTGCTCGGAAGCCTCTTCGGTGACGATCAGCGGGCGCTTGCCCAC
>Contig_152:45550-46116
GTTACGGAACGGGAACTTGAACGCTGCCAGCAGCGCCTTCGCTTCCGCATCCGTCTTGGC
GGTGGTGGTGATGGCGATATCCATACCGCGGATCGCGTCGACGGCGTCGAAGTCGATTT
>Contig_152:44079-44618
AGCCTTCTTGGCTTCCTTGCGAATGATGACTTCACCGGCGTACTTCACACCCTTGCCCTT
GTAGGGCTCCGGCGGACGGAAACCGCGAATCTTGGCGGCAACTTCGCCGACGCGCTGCTT

I have tried the following commands, but it is not working

grep -Fwf file1 file2 
sed -n file1 file2
awk 'NR==FNR {a[$1]++; next} $1 file1 file2 

No surprise "it is not working" as none of your attempts is addressing your problem if at all syntactically correct.

awk 'FNR == NR {SRCH[$3 "-" $2]; next} $2 in SRCH {print ">" $0}' FS="[]- []*" file1 RS=">" ORS="" FS="[:
]" file2 
>Contig_152:50833-51615
CGGAGTAGCTTCGATCAGCGTGACCGGTACCGAGCGACCGTCTTCAGTGAAGACGCGGCT
CATACCAGCCTTGCGGCCCACGAAGCCCAACGAATATTTCTTCGTCATGGTCGTAGTCCT
CAGGTCAGCTTGATCTGGACGTCGACGCCAGCCGCGAGTTCGAGCTTCATCAGCGCGTCC
ACGGTCTTGTCGTTCGGGTCGACGATATCGAGCACACGCTTGTGCGTGCGGGTTTCGTAT
TGG
>Contig_152:50215-50829
TGCCAGCCACTCCTCGACCTTCTTGACCGCGTCGGCGGTGATCACGACCGTATCGGCCCC
GACCAGAGCGACCGGATCCAGACCCTGCACGTCACGCACCTGCACATACGGCAGGTTGCG
AGCGGACAGATACAGGTGCTCGGAAGCCTCTTCGGTGACGATCAGCGGGCGCTTGCCCAC
>Contig_152:45550-46116
GTTACGGAACGGGAACTTGAACGCTGCCAGCAGCGCCTTCGCTTCCGCATCCGTCTTGGC
GGTGGTGGTGATGGCGATATCCATACCGCGGATCGCGTCGACGGCGTCGAAGTCGATTTC
>Contig_152:44079-44618
AGCCTTCTTGGCTTCCTTGCGAATGATGACTTCACCGGCGTACTTCACACCCTTGCCCTT
GTAGGGCTCCGGCGGACGGAAACCGCGAATCTTGGCGGCAACTTCGCCGACGCGCTGCTT

Your desired output for "45550-46116" is missing a trailing "C".

2 Likes
$ awk -F'\\]|\\[|-|:' -v RS='\n>' ' NR == FNR { gsub(" ",""); arr[$3]=1;next} arr[$2]{print ">" $0} ' f1 f2
>Contig_152:50833-51615
CGGAGTAGCTTCGATCAGCGTGACCGGTACCGAGCGACCGTCTTCAGTGAAGACGCGGCT
CATACCAGCCTTGCGGCCCACGAAGCCCAACGAATATTTCTTCGTCATGGTCGTAGTCCT
CAGGTCAGCTTGATCTGGACGTCGACGCCAGCCGCGAGTTCGAGCTTCATCAGCGCGTCC
ACGGTCTTGTCGTTCGGGTCGACGATATCGAGCACACGCTTGTGCGTGCGGGTTTCGTAT
TGG
>Contig_152:50215-50829
TGCCAGCCACTCCTCGACCTTCTTGACCGCGTCGGCGGTGATCACGACCGTATCGGCCCC
GACCAGAGCGACCGGATCCAGACCCTGCACGTCACGCACCTGCACATACGGCAGGTTGCG
AGCGGACAGATACAGGTGCTCGGAAGCCTCTTCGGTGACGATCAGCGGGCGCTTGCCCAC
>Contig_152:45550-46116
GTTACGGAACGGGAACTTGAACGCTGCCAGCAGCGCCTTCGCTTCCGCATCCGTCTTGGC
GGTGGTGGTGATGGCGATATCCATACCGCGGATCGCGTCGACGGCGTCGAAGTCGATTTC
>Contig_152:44079-44618
AGCCTTCTTGGCTTCCTTGCGAATGATGACTTCACCGGCGTACTTCACACCCTTGCCCTT
GTAGGGCTCCGGCGGACGGAAACCGCGAATCTTGGCGGCAACTTCGCCGACGCGCTGCTT
1 Like