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

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

여러 제목, 세부 정보 및 예고편 기록이 포함된 파일이 있습니다. (고정 길이)

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

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

각기.

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

답변1

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

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

관련 정보