3

Я использую Gentoo Linux. Программа (equery) выводит огромный список всех установленных на данный момент пакетов (equery list "*"). Я хочу выяснить, какие из них нестабильны. Equery помечает нестабильные пакеты знаком [~] перед именем пакета. Дело в том, что это происходит только тогда, когда выход нигде не перенаправлен - в терминале. Когда я пытаюсь очистить вывод (equery list "*" | grep "~") или перенаправить его в файл, включая stderr (equery list "*" &> eql.txt), эта информация не перенаправляется - только имена пакеты.

Итак, как мне перенаправить ВСЕ выходные данные из программы?

2 ответа2

3

Попробуйте обернуть вашу команду equery с помощью unbuffer.

unbuffer equery list "*" | grep "-"

Команда unbuffer заставляет программу-аргумент думать, что она подключена к терминалу. Возможно, вам придется добавить еще один уровень цитирования к аргументу "*" .

1

equery -N отключает обнаружение труб.

Так что equery -N list '*' | grep '~' должен сделать эту работу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .