다음과 같은 블록이 포함된 텍스트 파일이 있습니다.
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