我有一个5000行的大文件,它有一个重复的模式,如下所示:
ABC
111
222
333
XYZ
ABC
444
555
666
777
XYZ
..
..
ABC
777777777
888888888
999999999
222
333
111
XYZ
我想在每个'ABC'和'XYZ'之间提取内容并将其写入单独的文件 .
例如:file1应该有
ABC
111
222
333
XYZ
File2应该有
ABC
444
555
666
777
XYZ
Filen应该有
ABC
777777777
888888888
999999999
222
333
111
XYZ
等等 .
我们怎么能实现这个目标?我在下面读过这些线程,但它只写了一个文件 . 对我的情况没有帮助 .
How to select lines between two marker patterns which may occur multiple times with awk/sed
3 回答
Perl救援!
n
逐行读取文件仅在
/ABC/
和/XYZ/
之间打印当
/ABC/
为真时,即我们正在开始一个新的部分时,会打开一个新文件并将其与文件句柄$OUT
相关联 .$i
是文件的编号 .