如何使用 perl 根据模式将一个文件拆分为多个文件?
例如:输入为 .txt 文件,输出文件的名称存储在另一个 .txt 文件中
答案1
在这里,每次出现模式时打开一个新文件/8/
:
$ seq 30 | perl -pe 'BEGIN{open STDOUT, ">", "file" . ++$n}
open STDOUT, ">", "file" . ++$n if /8/'
$ ls
file1 file2 file3 file4
$ paste *
1 8 18 28
2 9 19 29
3 10 20 30
4 11 21
5 12 22
6 13 23
7 14 24
15 25
16 26
17 27