如何egrep包含一个必填单词的行,并且必须有一个可选单词

时间:2016-06-24 04:20:16

标签: regex awk grep

我需要grep匹配一个必填字的整行,比如" Jan 10"并且必须包含一个可选单词,例如" Crit","警告"。

等价C表达式将是:if(strstr(buf," Jan 10")&&(strstr(buf," Crit")|| strstr(buf,& #34;警告")))

注意:尝试了几个几乎与此相近的答案,但仍然没有帮助我。我的日志文件将包含不同级别的Crit,Warn,Info,Debg。但我只想要Crit或Warn,但Date应该是1月10日。

3 个答案:

答案 0 :(得分:2)

使用GNU grep:

grep 'Jan 10' file | grep -e 'Crit' -e 'Warn'

答案 1 :(得分:1)

grep“1月10日”log_file | egrep“暴击|警告”

希望这有帮助。

答案 2 :(得分:1)

我认为grep不是这里的最佳选择,因为正则表达式不能直接支持逻辑运算。我更喜欢使用awk '/Jan 10/ && (/Crit/ || /Warn/)' your_text_file 这些东西,这是一种编程语言和正则表达式的cmd工具。

window.location.assign()