問題的第一部分有很多答案,即在兩個圖案之間打印線條。例如:在兩個圖案之間打印線條並休眠一秒鐘然後重複至EOF
awk '/start/{flag=1} flag; /end/{flag=0}' file
此打印出圖案的「開始」和「文件」內發生幾次「端」之間的界線。假設該文件包含:
start a b c d 4 5 3 7 8 end some garbage start 6 d 0 0 1 d g end other garbages start 6 5 ... end some other garbage
上述「AWK」命令打印出整個文件消除了垃圾..這是很好的,但我要的是每個這樣的塊之間的停頓。即打印
start a b c d 4 5 3 7 8 end
睡眠用於第二(sleep 1
可以使用),然後打印下一個塊:
start 6 d 0 0 1 d g end
等等直到文件的末尾。我廣泛搜索,但無法找到第二個「暫停/等待」部分,因此我相信這不是一個重複的問題。
你確定awk腳本正在做你所說的事嗎? – JNevill
爲了說明問題,在給定示例數據的情況下,它不適用於我,並且如果沒有for循環迭代記錄中的字段,我無法看到它是如何工作的。如果執行for循環,那麼在循環啓動到下一個字段之前,可以在'/ END /'測試中實現'system(「sleep 10」)''。但這是一個有爭議的問題,因爲劇本似乎沒有做到應有的功能。 – JNevill
@JNevill其實你是對的,它打印出整個文件。但無論如何,我對awk命令不感興趣,這只是一個例子。我想在問題中描述的內容。 – quanta