2016-10-05 1207 views
-1

默认情况下,有什么方法可以在bash会话中过滤绝对无用的消息吗?默认情况下如何在`bash` shell中过滤掉无用的消息?

例如,我想永远不会看到这个绝对无用的消息:Binary file ... matches而运行grep ...。每次输入类似grep ... 2>/dev/null的数据都非常困难,特别是考虑我需要多长时间运行一次该命令。此外,它也会过滤出有用的信息,这是不需要的。

我想看到的是/etc中的某种文件,我可以逐行放入一堆无用消息的正则表达式。此过滤器仅适用于tty,即重定向输出必须保持不变!

+5

'grep -I'也许? –

+1

...或者不要在二进制文件中grep – hek2mgl

回答

1

有一些方法可以与您的stderr一起玩,但有一些问题会导致不理想。例如:

exec 2>/tmp/errorfile 

会将所有的STDERR输出放入错误文件中。您可以在您的.bashrc中启动一个

tail -f /tmp/errorfile | grep -v 'Binary file' & 

以获取其他消息。你会看到一些有趣的副作用;例如我发现提示符写在STDERR上。

您可能必须创建一个比tail | grep更精细的命令来筛选出不需要的消息并对您的提示进行一些操作。你也可能需要清理你的错误文件。