У меня есть file.txt
, который выглядит следующим образом (я удалил строки, чтобы упростить мой пример):
PLXNA3 ### <- filename1
Missense/nonsense : 13 mutations # <- header spaces
accession codon_change amino_acid_change # <- column names tsv
ID73 CAT-TAT His66Tyr # <- line tsv
ID63 GAC-AAC Asp127Asn # <- line tsv
ID31 GCC-GTC Ala307Val # <- line tsv
NEDD4L ### <- filename2
Splicing : 1 mutation # <- header spaces
accession splicing_mutation # <- column names tsv
ID51 IVS1 as G-A -16229 # <- line tsv
Gross deletions : 1 mutation # <- header spaces
accession DNA_level description HGVS_(nucleotide) HGVS_(protein) # <- column names tsv
ID853 gDNA 4.5 Mb incl. entire gene Not yet available Not yet available # <- line tsv
OPHN1 ### <- filename3
Small insertions : 3 mutations # <- header spaces
accession insertion HGVS_(nucleotide) # <- column names tsv
ID96 TTATGTT(^183)TATtCAAATCCAGG c.549dupT p.(Gln184Serfs*23) # <- line tsv
ID25 GTGCT(^310)AAGCAcaG_EI_GTCAGTTCT c.931_932dupCA # <- line tsv
Я хотел бы разделить этот файл, чтобы получить 3 разных файла:
PLXNA3.txt
PLXNA3 ### <- filename1
Missense/nonsense : 13 mutations # <- header spaces
accession codon_change amino_acid_change # <- column names tsv
ID73 CAT-TAT His66Tyr # <- line tsv
ID63 GAC-AAC Asp127Asn # <- line tsv
ID31 GCC-GTC Ala307Val # <- line tsv
NEDD4L.txt
NEDD4L ### <- filename2
Splicing : 1 mutation # <- header spaces
accession splicing_mutation # <- column names tsv
ID51 IVS1 as G-A -16229 # <- line tsv
Gross deletions : 1 mutation # <- header spaces
accession DNA_level description HGVS_(nucleotide) HGVS_(protein) # <- column names tsv
ID853 gDNA 4.5 Mb incl. entire gene Not yet available Not yet available # <- line tsv
OPHN1
OPHN1 ### <- filename3
Small insertions : 3 mutations # <- header spaces
accession insertion HGVS_(nucleotide) # <- column names tsv
ID96 TTATGTT(^183)TATtCAAATCCAGG c.549dupT p.(Gln184Serfs*23) # <- line tsv
ID25 GTGCT(^310)AAGCAcaG_EI_GTCAGTTCT c.931_932dupCA # <- line tsv
Как мне достичь желаемого результата с помощью любых команд linux например awk
или python
?
Примечание:
- имена файлов не имеют пробелов или табуляций, но могут содержать
-
. * 1029 Заголовок * - содержит пробелы.
- строки разделены табуляцией.
- реальный разделитель должен быть именами файлов, поскольку я могу иметь несколько заголовков.
Спасибо в заранее.