Linux 쉘에서 파일 분할

Linux 쉘에서 파일 분할

입력하다 file.txt:

Start of test case:test1
a
b
c
Date is feb 12
Start of test case:test2
m
n
o
Date is feb 13
Start of test case:test3
x
y
z
Date is feb 14

필수 출력 파일

test1.txt:

Start of test case:test1
a
b
c
Date is feb 12

test2.txt:

Start of test case:test2
m
n
o
Date is feb 13

test3.txt:

Start of test case:test3
x
y
z
Date is feb 14

답변1

사용 split:

$ split -l 5 file.txt test

이렇게 하면 각각 파일의 연속 5줄을 포함하는 세 개의 파일 testa이 생성됩니다 .testbtestcfile.txt

awk또는 새 테스트 사례가 발견될 때마다 새 파일을 작성하는 솔루션:

$ awk '/^Start of test case:/ { c++ } { print >sprintf("test%d.txt", c) }' file.txt

관련 정보