구분 기호로 파일에서 줄 블록 추출

구분 기호로 파일에서 줄 블록 추출

입력.txt:

d1
a4
TEXT|VALUE1
TEXT|VALUE2
.
c8
TEXT|NVALUE1
.
a10
TEXT|VALUE3
.
a13
TEXT|VALUE4
.
c15
TEXT|NVALUE2
.
d20
d23
.

a[number]*file1의 경우 구분 기호 점으로 시작 하고 구분 기호 점에서 중지되는 문자열을 검색합니다 ..

file2의 경우 문자열은 c[number]*구분 기호 점으로 시작하고 점으로 끝납니다 ..

예상 출력:

==> file1 <==
TEXT|VALUE1
TEXT|VALUE2
TEXT|VALUE3
TEXT|VALUE4

==> file2 <==
TEXT|NVALUE1
TEXT|NVALUE2

답변1

그것은 다음과 같습니다:

awk '
    $0 == "." { of = ""; next }
    $0 ~ /^a[0-9]+$/ { of = "file1"; next }
    $0 ~ /^c[0-9]+$/ { of = "file2"; next }
    of != "" { print >of }
' input.txt

관련 정보