0

我怎样才能过滤掉包含两者的行canvasbenchtracing_mark_write就像下面显示的句子一样?

 canvasbench-16333 [003] ...1 87432.398788: tracing_mark_write: B|16333|performTraversals\n\
4

2 回答 2

2

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'

于 2013-03-25T06:56:33.070 回答
2

或者,您可以使用 sed:

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

它尝试在与 canvasbench 匹配的行上匹配 tracking_mark_write 并打印与两者匹配的行。

于 2013-03-25T07:10:31.997 回答