텍스트 파일 내의 블록에서 정보 추출

텍스트 파일 내의 블록에서 정보 추출

다음과 같은 블록이 포함된 텍스트 파일이 있습니다.

dir1/dir2/dir3/name_run_number1:
line1_run_number1_part1
line2_run_number1_part2
line3_run_number1_part3...

각 블록은 빈 줄로 구분되며, 각 블록에는 "제목"에 ":"가 있고, 각 블록에는 "run_" 접미사 뒤에 고유한 "number1"이 있으며, 이 접미사는 블록 내에도 있습니다.

내가 하고 싶은 일은 각 블록에 대해 첫 번째 행에 표시된 "number1"을 추출한 다음 아래 행에 대해 1부터 20까지 계산하고 "partX" 행이 누락된 경우 메시지를 보내는 것입니다. 어떤 bash나 Python이라도 가능합니다.

감사해요

답변1

주어진 입력|출력을 기반으로 결정 예는 다음과 같습니다.

awk -F_ '
    /:/ {
        for (i=0;i<20;i++) {
            getline
            sub("chunk","",$7)
            while ( i != +$7 ) {
                print "for " $2 " and " $5"_"$6 " you are missing chunk " i
                i++
                if (i>20)
                    break
                }
            }
    }' text.file

관련 정보