1
$ cat /tmp/zfssa_check_raw.log
====== aps_akd_service_offline.output ======
WARN: akd service state is online
====== aps_akd_service_offline.result:1 ======
固定パターン文字列を使用すると、期待どおりに動作します。変数を使用して2つのパターン間の線を抽出する方法
$ awk '/aps_akd_service_offline.output/{flag=1;next}/aps_akd_service_offline.result/{flag=0}flag' /tmp/zfssa_check_raw.log
WARN: akd service state is online
しかし、私は柔軟なパターンを表現するために、AとBの変数を使用し、 は、それは何も表示されません。私はなぜ、誰かがここで助けてくれるのか分からないのですか?
$ awk -v a="aps_akd_service_offline.output" -v b="aps_akd_service_offline.result" '/a/{flag=1;next}/b/{flag=0}flag' /tmp/zfssa_check_raw.log
$ a="aps_akd_service_offline.output"
$ b="aps_akd_service_offline.result"
$ awk -va="${a}" -vb="${b}" '/a/{flag=1;next}/b/{flag=0}flag' /tmp/zfssa_check_raw.log
形式にそれ読める – RomanPerekhrest