從文字檔案內的區塊中提取訊息

從文字檔案內的區塊中提取訊息

我有一個文字文件,其中包含類似的區塊

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

相關內容