我正在运行的一个进程输出了一条非常烦人的消息。我宁愿不删除该行,而只是用 grep 删除它
要忽略的消息都包含单词“请求”。我可以轻松地只用这些行
$> myproc | grep requests
我怎样才能让 grep 忽略包含单词“requests”的行?
答案1
只需使用 -v 选项:
myproc | grep -v requests
答案2
抱歉无法抗拒:
myproc | perl -ne "/requests/ or print"
这是 perl 的一行代码,用于-e
在命令行上执行代码,并将-n
其包装在 while 循环中,一次读取一行。该/requests/
部分与包含单词“requests”的任何行匹配。将它们放在一起表示,“如果该行不包含单词‘requests’,则将其打印出来。”
这是一个人为设计的例子,因为 Robin Green 指出它grep -v
在你的例子中运行得很好。但是你可以扩展这个 perl 单行代码来制作任意复杂的过滤器。