我在编写代码时难以拆分大文本文件,如下所示:
#Article:
ABC
DEF
#Article:
GHJ
KDJD
我希望以#Article
开头的块分割文件,并将每个块保存在名为 output1 , output2 的文本文件中,依此类推。
所以,例如:
#Article:
ABC
DEF
将保存在名为 output1.txt 的文本文件中。
答案 0 :(得分:-1)
每次遇到标题时,只需重新打开输出句柄。作为一个单行:
perl -pe'
if ($_ eq "#Article:\n") {
open(STDOUT, ">", sprintf("output%d.txt", ++$count))
or die $!;
}
'
用法:
perl -pe'...' input.txt # Read from file(s) provided as arguments.
perl -pe'...' <input.txt # Read from STDIN.