Я пытаюсь использовать «awk» для извлечения текстовых блоков (только первое поле / столбец, но несколько строк, количество строк варьируется между блоками) на основе разделителей (# и -. Эти столбцы представляют идентификаторы последовательности.
Используя «awk», я могу разделить блоки и напечатать первый столбец, но не могу перенаправить эти текстовые блоки в отдельные выходные файлы.
Код:
awk '/#/,/--/{print $1}' OTU_test.txt
В идеале я хотел бы сохранить каждый файл (текстовый блок, исключая разделители) на основе некоторого текста, найденного в первой строке каждого блока (например, MEMB.nem.6; MEMB.nem. Является содержимым, но число изменяется)
Пример входного файла введите описание изображения здесь
#OTU_MEMB.nem.6
EF494252.1.2070 6750.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Nucletmycea;D_3__Fungi;D_7__Dothideomycetes;D_8__Capnodiales;D_9__uncultured fungus 1.000
FJ235519.1.1436 5957.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Nucletmycea;D_3__Fungi;D_7__Dothideomycetes;D_8__Capnodiales;D_9__uncultured fungus 1.000
New.ReferenceOTU9219 5418.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Nucletmycea;D_3__Fungi 1.000
GQ120120.1.1635 471.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Nucletmycea;D_3__Fungi;D_7__Dothideomycetes;D_8__Capnodiales;D_9__uncultured fungus 0.990
--
#OTU_MEMB.nem.163
New.CleanUp.ReferenceOTU59580 12355.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Holozoa;D_3__Metazoa (Animalia);D_7__Chromadorea;D_8__Monhysterida 0.700
New.ReferenceOTU11809 1312.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Holozoa;D_3__Metazoa (Animalia);D_7__Chromadorea;D_8__Monhysterida 0.770
--
#OTU_MEMB.nem.35
New.CleanUp.ReferenceOTU120578 12116.0 D_0__Eukaryota;D_1__Opisthokonta;D_2__Holozoa;D_3__Metazoa (Animalia);D_7__Chromadorea;D_8__Desmoscolecida;D_9__Desmoscolex sp. DeCoSp2 0.780
Ожидаемые выходные файлы (только первый столбец, без разделителей).
MEMB.nem.6.txt
EF494252.1.2070
FJ235519.1.1436
New.ReferenceOTU9219
GQ120120.1.1635
MEMB.nem.163.txt
New.CleanUp.ReferenceOTU59580
New.ReferenceOTU11809
MEMB.nem.35.txt
New.CleanUp.ReferenceOTU120578
Я много искал, но пока не увенчался успехом. Я был быочень рад, если кто-то может посоветовать мне.
Спасибо,
Tiago