divide a linha com base no espaço e apaga a segunda parte

1

Eu tenho um arquivo grande

>fid|29290408|locus|VBIEntCas2262_0001|   Phosphoglycolate phosphatase (EC 3.1.3.18)   [Enterococcus casseliflavus EC20]
gtgagaaagaaagtactttttgatttagatggaacgatcattgattcgagtgaaggaatc
tatggatcgattcaatatgcgatggaaaaaatgggaaaagagcaattagcgcaagacgta
ctgcggagctttgtggggccgcctttgattgaatccttccgtggcttgggcttcgatgaa
>fid|29290410|locus|VBIEntCas2262_0002|   hypothetical protein   [Enterococcus casseliflavus EC20]
atgatcggcgaacgttttttgatcacaccgatcgacgaaccgttagacccatacaatgag
ttagtctcaagcaatcagtttactttctttacatcaacctatgatcaaatgttcttgact
ggtcatctgattctagatgttcacccaacttcaggaactttgattttgaaaaacgaaagc
ggctatttggataccaatcttttattggaatcctctccacagttaaaacaaacgaatgcg
>fid|29290414|locus|VBIEntCas2262_0004|   FIG00630550: hypothetical protein   [Enterococcus casseliflavus EC20]
atgaagcgtgttgcagaaaactatttggttgttttttcgattcttttgctgattatatgg
ctaggcttgatccaagtgaaagaatattcgcaagaagtagccctgtcgatcatttacttt

Eu preciso dividir cada linha começando com ">" baseado no espaço, retendo no novo arquivo apenas a parte antes dos espaços, com as seguintes linhas.

Então, o arquivo que eu preciso deve ser:

>fid|29290408|locus|VBIEntCas2262_0001|
gtgagaaagaaagtactttttgatttagatggaacgatcattgattcgagtgaaggaatc
tatggatcgattcaatatgcgatggaaaaaatgggaaaagagcaattagcgcaagacgta
ctgcggagctttgtggggccgcctttgattgaatccttccgtggcttgggcttcgatgaa

um assim por diante.

o número de linhas após o cabeçalho (começando com >) não é fixo.

Como eu poderia fazer isso?

    
por Francesca de Filippis 29.01.2015 / 13:28

1 resposta

6

Você pode usar este comando:

awk '{print $1}' filename > newfile

em que filename é o nome do arquivo grande original e newfile é o arquivo que obterá os resultados.

    
por 29.01.2015 / 13:31