awkを使用してファイルから一致するパターン(変数に保存されている)を取得するには?

awkを使用してファイルから一致するパターン(変数に保存されている)を取得するには?

ログファイルがあり、そのファイルにエラーメッセージが含まれていることを確認し、その場合はエラーメッセージを別のファイルに抽出する必要があります。

このようにエラーファイルがある可能性があり、ファイルごとにログモードが異なります。では、一致するパターンを検索するために変数をどのように使用しますか?

.shすべてのログファイルの共通ファイルを作成したいからです。パターンを検索し、他のファイルに印刷したいファイルがあるとします$pat1="ERROR MESSAGE" $pat2="RAISE_ERROR_SEEN"。どちらのモードでも、ファイル内のすべての行を白黒にしたい。

変数のみを使用してください。

答え1

この試み、

 awk "/""$pat1""/,/""$pat2""/" test.log | grep -v "$pat3" > Error.bk
  • $pat1間のコンテキストを印刷します$pat2
  • 最初の変数にスペースがあるので、二重引用符を2回使用します。

答え2

より簡単な方法で:

grep -e "$pat1\|$pat2" filename > resultfile

関連情報