Вот подход Python:
#!/usr/bin/env python2
with open('file_1') as f_1, open('file_2') as f_2:
f_1_subgroups = f_1.read().split('>C')
f_2_lines = [line.rstrip() for line in f_2]
for subgroup in f_1_subgroups:
for line in f_2_lines:
if line in subgroup:
print '>C' + subgroup
Здесь мы сначала разделили «file_1» на подгруппы, используя разделитель >C, затем мы искали строки «file_2» в подгруппа. Если найдено, мы напечатали подгруппу.
Использование списка:
#!/usr/bin/env python2
with open('file_1') as f_1, open('file_2') as f_2:
f_1_subgroups = f_1.read().split('>C')
f_2_lines = [line.rstrip() for line in f_2]
print ''.join(['>C' + subgroup for line in f_2_lines for subgroup in f_1_subgroups if line in subgroup])