将文件拆分为包含">"字符的行

Per*_*ika 3 bash split file

我有一个文件,其中一些行以'>'开头,所有其他行以一些字母开头.我想将我的大文件剪成几个较小的文件,以便剪切始终在">"之前.

我记得有一次我可以自己在bash上写这样的东西,但不幸的是我没有保存副本.

例如

>1
HAVE
ANIC
EDAY
>2
FOLK
SE
>3
SUNS
HINE
Run Code Online (Sandbox Code Playgroud)

将产生3个文件,每个文件在第一行都有">".

Ken*_*ent 5

试试这个,看看它是否有帮助

awk '/^>/{i++};{print > (i".txt")}' yourFile
Run Code Online (Sandbox Code Playgroud)

生成的文件名为1.txt,2.txt .....

如果需要特殊名称模式,则需要更改awk行(在>之后).