我正在运行 Gentoo Linux。程序 ( equery
) 输出所有当前安装的软件包的大量列表 ( equery list "*"
)。我想找出其中哪些是不稳定的。Equery 在软件包名称前用 [ ~] 标记不稳定的软件包。问题是,只有当输出未重定向到任何地方(在终端中)时,才会发生这种情况。当我尝试 grepping 输出 ( equery list "*" | grep "~"
) 或将其重定向到文件(包括 stderr ( equery list "*" &> eql.txt
))时,该信息不会被重定向 - 只有软件包的名称。
那么,如何重定向程序的所有输出?
答案1
尝试使用以下方式包装 equery 命令解除缓冲。
unbuffer equery list "*" | grep "-"
unbuffer 命令使其参数程序认为它已连接到终端。您可能需要为参数添加另一层引用"*"
。
答案2
equery -N
关闭管道检测。
所以equery -N list '*' | grep '~'
应该做好这个工作。