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