我想在awk命令,在這個正則表達式應該是一個變量使用正則表達式,我可以調用awk命令使用由正則表達式變量
實例之前進行更改: gawk 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} s~/word1|word2/' file1.log
這個工作對我來說,這個命令顯示所有行包含最後的「新行」到下一個「新行」
我想要做的就是words1或字詞2,把字詞1和字詞2在變量中,在gawk中使用它
例如:
正則表達式=「字詞1 |單詞2」 gawk 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} s~/$regex/' file1.log
其中正則表達式可以改變取決於我的程序 我搜索並嘗試了多種解決方案,但沒有工作對我來說
解決方案我嘗試過:
1)regex =「word1 | word2」; gawk 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} s~/$regex/' file1.log
2)的正則表達式= 「字詞1 | WORD2」 gawk -v pat="$regex" 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} s~/pat/' file1.log
3)的正則表達式= 「字詞1 | WORD2」 gawk 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} {pat=$regex} s~/pat/' file1.log
4)的正則表達式= 「字詞1 | WORD2」 echo $regex | gawk 'BEGIN{RS=ORS="\n\n" {s=tolower($0)} s~/$1/' file1.log
提前致謝!
嗨,這工作,但我想用1個變量,我可以在awk命令之前配置,因爲它可能會在下一次迭代word1,word2,word3和word4 –
檢查我的編輯一次,我已經添加了變量從shell到awk,其中可能有多個字符串。讓我知道這是否有助於你。 – RavinderSingh13
工作!謝謝! –