Linux

如何使用 awk 在文件中搜尋匹配模式(儲存在變數中)?

  • August 16, 2018

我有一個日誌文件,我需要在其中檢查是否有任何錯誤消息,如果有,請將錯誤消息提取到另一個文件中。

像這樣我可能有錯誤文件,不同的文件有不同的日誌模式。那麼如何使用變數搜尋匹配模式呢?

因為我想.sh為所有日誌文件創建一個通用文件。假設我有一個文件,我想在其中搜尋圖案並在另一個文件中列印$pat1="ERROR MESSAGE" $pat2="RAISE_ERROR_SEEN"。我想要文件 b/w 這兩種模式的所有行。

僅使用變數。

試試這個,

awk "/""$pat1""/,/""$pat2""/" test.log | grep -v "$pat3" > Error.bk
  • 將列印和之間的$pat1上下文$pat2
  • 由於我們在第一個變數中有空格,因此使用雙引號兩次。

以更簡單的方式:

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

引用自:https://unix.stackexchange.com/questions/462129