У меня есть файл с именем «сравнить» и файл с именем «final_contigs_c10K.fa»
Я хочу выделить строки И СЛЕДУЮЩУЮ ЛИНИЮ из «final_contigs_c10K.fa», содержащие определенные строки в «сравнить».
сравнитьвыглядит следующим образом:
k119_1
k119_3
...
и количество строк сравнения равно 26364.
final_contigs_c10K.fa выглядит следующим образом:
>k119_1
AAAACCCCC
>k119_2
CCCCC
>k119_3
AAAAAAAA
...
Я хочу сделать из final_contigs_c10K.faформат:
>k119_1
AAAACCCCC
>k119_3
AAAAAAAA
...
Я попробовал этот код, но этот код занимает слишком много времени, хотя, кажется, работает нормально.Я думаю, что это занимает слишком много времени, потому что количество сравниваемых строк составляет 26364, что слишком много по сравнению с другими моими файлами, на которых я тестировал код.
while read line; do sed -i -e "/$line/ { N; d; }" final_contigs_c10K.fa; done < compare
Есть ли способ сделать эту команду быстрее?