gpt4 book ai didi

grep - 使用 grep 和正则表达式来过滤匹配项

转载 作者:行者123 更新时间:2023-12-03 06:50:14 26 4
gpt4 key购买 nike

我尝试将 grep 与 -v 一起使用来进行反向匹配,并使用 -e 来进行正则表达式。我无法正确理解语法。

我正在尝试类似的事情

tail -f logFile | grep -ve "string one|string two"

如果我这样做它不会过滤如果我把它改成

tail -f logFile | grep -ev "string one|string two"

我明白

grep: string one|string two: No such file or directory

我尝试过使用 () 或引号,但未能找到任何有效的方法。

我该怎么做?

最佳答案

问题是,默认情况下,您需要转义 | 才能获得正确的交替。也就是说,grep 将“foo|bar”解释为仅匹配文字字符串“foo|bar”,而模式“foo\|bar”(带有转义的 |)匹配“foo”或“bar”。

要更改此行为,请使用 -E 标志:

tail -f logFile | grep -vE 'string one|string two'

或者,使用egrep,它相当于grep -E:

tail -f logFile | egrep -v 'string one|string two'

此外,-e 是可选的,除非您的模式以文字连字符开头。 grep 自动将第一个非选项参数作为模式。

关于grep - 使用 grep 和正则表达式来过滤匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/364105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com