grep 具有多个模式的单独选项

nil*_*erg 1 grep

我想将仅打印匹配选项 ( -o) 应用于grep -e 'PATTERN'语法指定的一个模式,而另一个类似指定的模式应显示包含匹配项的整行(即默认行为)。这能做到吗?

Nas*_*ley 5

这将只选择一个模式的匹配项和另一个模式的完整行:

grep -oe 'this_pattern' -e '^.*that_pattern.*$' file
Run Code Online (Sandbox Code Playgroud)

这也有效并使它更干净:

grep -Eoe 'this_pattern|^.*that_pattern.*$' file
Run Code Online (Sandbox Code Playgroud)