質問の最初の部分には2つのパターンの間に線が印刷されています。例えば:2つのパターンの間にラインを印刷し、1秒間スリープしてから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 6 d 0 0 1 d g end
と:それは、次のチャンクを印刷する第二使用することができる(sleep 1
)の印刷
start a b c d 4 5 3 7 8 end
睡眠です。私は広範囲に調査しましたが、2番目の「一時停止/待機」の部分を見つけることができなかったので、これは重複した質問ではないと私は信じています。マルチチャーRSのためのGNU AWKで
awkスクリプトがあなたの言うことをしていると確信していますか? – JNevill
明確にするために、サンプルデータがあれば私にとってはうまくいかず、forループを使わないとレコードのフィールドを繰り返すことができません。 forループが実装されている場合、 '/ END /'のテストでループが次のフィールドに来る前に 'system(" sleep 10 ")'を実装することができます。しかしそれは、スクリプトが想定していたことをするように見えないため、疑問な点です。 – JNevill
@JNevill実際にあなたが正しいです、それはファイル全体を印刷します。しかし、とにかく私はそのawkコマンドには興味がありません。それは単なる例です。私が質問したいのは、私が質問したことです。 – quanta