如何使用 perl 根据模式将一个文件拆分为多个文件?

如何使用 perl 根据模式将一个文件拆分为多个文件?

如何使用 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

相关内容