默认情况下,有没有办法在bash会话中过滤掉绝对无用的消息?
例如,我希望在运行Binary file ... matches
时永远不会看到这个绝对无效的消息:grep ...
。每次输入类似grep ... 2>/dev/null
的内容非常困难,特别是考虑到我需要运行此命令的频率。此外,它还会过滤掉有用的消息,这是不需要的。
我想看到的是/etc
中的某种文件,我可以逐行放置一堆无用消息的正则表达式。此过滤器必须仅适用于tty
,即重定向输出必须保持不变!
答案 0 :(得分:1)
有一些方法可以与你的stderr一起玩,但是有很多问题会让你感到不受欢迎。例如:
exec 2>/tmp/errorfile
将把所有STDERR输出放在错误文件中。你可以开始
tail -f /tmp/errorfile | grep -v 'Binary file' &
你的.bashrc中的也可以获取其他消息。你会看到一些有趣的副作用;例如,我发现提示是写在STDERR上的。
您可能需要创建一个比tail | grep更精细的命令来过滤掉不需要的消息,并对您的提示做一些事情。您可能还需要清理错误文件。