2016-10-05 1238 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更精細的命令來篩選出不需要的消息並對您的提示進行一些操作。你也可能需要清理你的錯誤文件。