如何在`bash` shell中默认过滤掉无用的消息?

时间:2016-10-05 10:05:11

标签: bash

默认情况下,有没有办法在bash会话中过滤掉绝对无用的消息?

例如,我希望在运行Binary file ... matches时永远不会看到这个绝对无效的消息:grep ...。每次输入类似grep ... 2>/dev/null的内容非常困难,特别是考虑到我需要运行此命令的频率。此外,它还会过滤掉有用的消息,这是不需要的。

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

1 个答案:

答案 0 :(得分:1)

有一些方法可以与你的stderr一起玩,但是有很多问题会让你感到不受欢迎。例如:

exec 2>/tmp/errorfile

将把所有STDERR输出放在错误文件中。你可以开始

tail -f /tmp/errorfile | grep -v 'Binary file' &
你的.bashrc中的

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

您可能需要创建一个比tail | grep更精细的命令来过滤掉不需要的消息,并对您的提示做一些事情。您可能还需要清理错误文件。