我怎样才能过滤掉包含两者的行canvasbench
,tracing_mark_write
就像下面显示的句子一样?
canvasbench-16333 [003] ...1 87432.398788: tracing_mark_write: B|16333|performTraversals\n\
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 匹配的行上匹配 tracking_mark_write 并打印与两者匹配的行。