如何重定向 Linux 中命令的所有輸出

如何重定向 Linux 中命令的所有輸出

我正在運行 Gentoo Linux。程式 ( equery) 輸出所有目前安裝的軟體包 ( equery list "*") 的大量清單。我想找出其中哪些是不穩定的。 Equery 在包名前用 [~] 標記不穩定的包。問題是,只有當輸出沒有重定向到終端機中的任何地方時,才會發生這種情況。當我嘗試 grep 輸出 ( equery list "*" | grep "~") 或將其重定向到檔案(包括 stderr ( equery list "*" &> eql.txt))時,該資訊不會被重定向 - 只有套件的名稱。

那麼,如何重定向程式的所有輸出?

答案1

嘗試用以下命令包裝您的 equery 命令解緩衝

unbuffer equery list "*" | grep "-"

unbuffer 命令使其參數程式認為它已連接到終端。您可能需要在參數中新增另一層參考"*"

答案2

equery -N關閉管道檢測。

所以equery -N list '*' | grep '~'應該要做好這項工作。

相關內容