Linux
如何使用 awk 在文件中搜尋匹配模式(儲存在變數中)?
我有一個日誌文件,我需要在其中檢查是否有任何錯誤消息,如果有,請將錯誤消息提取到另一個文件中。
像這樣我可能有錯誤文件,不同的文件有不同的日誌模式。那麼如何使用變數搜尋匹配模式呢?
因為我想
.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