需要使用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
- 建议关闭每个文件以避免“打开的文件过多”错误