使用正则表达式"and"的 grep



如何过滤出包含canvasbenchtracing_mark_write的行,如下面的句子所示?

 canvasbench-16333 [003] ...1 87432.398788: tracing_mark_write: B|16333|performTraversalsn

grep中没有AND操作符。但是,您可以使用grep -E选项模拟AND。

grep -E 'canvasbench.*tracing_mark_write|tracing_mark_write.*canvasbench' filename

或者,您可以使用多个以管道分隔的grep命令来模拟And。

grep -E 'canvasbench' filename | grep -E 'tracing_mark_write'

您也可以使用sed:

sed -n '/canvasbench/{/tracing_mark_write/p}' input

尝试在匹配canvasbench的行上匹配tracing_mark_write,并打印同时匹配的行。

最新更新