需要使用blanc行(BASH)拆分文件的帮助吗

需要使用blanc行(BASH)拆分文件的帮助吗,bash,Bash,我有一个包含几千行的文件。文件格式与此类似: 1 H H 13.1641870 7.1039560 -5.9652740 3 O2H2 H 15.5567440 5.6184980 -4.5255100 H 15.8907030 4.2338600 -5.4917990 O 15.5020000 6.4310000 -7.0960000 O 13.7940000 5.5570000 -8.162

我有一个包含几千行的文件。文件格式与此类似:

1
H
H    13.1641870     7.1039560    -5.9652740

3
O2H2
H    15.5567440     5.6184980    -4.5255100
H    15.8907030     4.2338600    -5.4917990
O    15.5020000     6.4310000    -7.0960000
O    13.7940000     5.5570000    -8.1620000

2
CH
H    13.0960830     7.7155820    -3.5224750
C    11.0480000     7.4400000    -5.5080000

.
.
.
.
我想要的是将完整的文件分割成几个文件,在每个文件中空行之间放入所有信息。问题是空行不遵循一种模式。文本的某些部分有1行,其他部分有10行


有人能告诉我如何用空白行分隔文件作为分隔符吗?< /p> 使用AWK和文件名为Maunfile

中的数据
awk 'BEGIN { RS="[\n]+" } { print $0 >> "file"NR".txt" }' mainfile

将记录分隔符设置为一个或多个换行符,然后将每条记录打印到由记录编号指定的文件中,即file1.txt等。请尝试以下操作:

awk -v RS="" '{print > "file" ++i ".txt"; close("file" i ".txt")}' input.txt
  • 如果awk变量
    RS
    设置为空字符串,则记录用空行分隔
  • 建议关闭每个文件以避免“打开的文件过多”错误

到目前为止您尝试了什么?另外,s.o.有很多关于拆分文件的条目/帖子