awk変数を解析する方法

awk変数を解析する方法

特定の期間(過去1時間など)を振り返って、ログファイルからいくつかの情報を抽出しようとしています。次のawk構造が動作し、データを変数としてキャプチャすることがわかりました。

myvar="$(awk '$0>=from&&$0<=to' from="$(date +%b" "%d" "%H:%M:%S -d -10minute)" to="$(date +%b" "%d" "%H:%M:%S)" /var/log/messages)"

その変数からいくつかの情報を取得し、それを使用して警告を生成できるようにしたいのですが、どうすればよいかわかりません。 Grepを使用していますか?それとも別のものを使用していますか?

もし解決方法を知っている方や方法を教えてくださったら、本当にありがとうございます。

詳細は次のとおりです。これは単なる例です。前回のsyslogを確認し、上記のawk構造を使用してすべての出力を変数として保存するとします。これで、警告メールを送信するための基礎としていくつかのデータを解析したいと思います。たとえば、 "Apr 16 12:32:26 satest01 kdump: kexec: 返された kdump カーネル" のキーワード (またはコアフレーズ) "kdump" です。変数からこの情報をどのように抽出しますか?

ベストアンサー1

ログファイルから直接情報を取得したくない場合は、次のようにします。

echo "${var}" | grep "kdump"

パイプを使用することもできます。

awk ...your_script | grep "kdump"

より多くの単語を探したい場合は、以下を使用してください。grep -E

awk ...your_script | grep -E "kdump|Diggy|other string"

おすすめ記事