Shell-Script

根據空間分割線並刪除第二部分

  • January 29, 2015

我有一個大文件

>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

我需要根據空格分割以“>”開頭的每一行,在新文件中僅保留空格之前的部分,並使用以下幾行。

所以我需要的文件應該是:

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

依此類推。

標題後面的行數(以 > 開頭)不固定。

我該怎麼辦?

你可以使用這個命令:

awk '{print $1}' filename > newfile

wherefilename是原始大文件的名稱,並且newfile是將獲得結果的文件。

引用自:https://unix.stackexchange.com/questions/181795