헤더와 트레일러 사이의 레코드를 헤더와 트레일러를 포함한 새 파일에 복사합니다.

헤더와 트레일러 사이의 레코드를 헤더와 트레일러를 포함한 새 파일에 복사합니다.

여러 헤더, 세부정보 및 트레일러 레코드가 있는 파일이 있습니다.(고정 길이)

예를 들어 내 파일은 다음과 같습니다

Habcd20200317
R123 abc def
R234 dfg thg
T2 2018907
Hagfd20200316
R346 adf thg
R456 tsh ahs
T3 2018937

출력 파일은 다음과 같이 저장되어야 합니다.20200317.txt

Habcd20200317
R123 abc def
R234 dfg thg
T2 2018907

그리고20200316.txt

Hagfd20200316
R346 adf thg
R456 tsh ahs
T3 2018937

각기.

유닉스 쉘 스크립팅에서 이를 어떻게 달성할 수 있습니까? 도와주세요.

답변1

레코드의 길이가 고정되어 있으므로 모듈로 연산을 사용할 수 있습니다.

awk 'NR%4 == 1 {outfile = substr($0,6) ".txt"} {print > outfile}' file

관련 정보