zypper: как перечислить все активные репозитории пакетов?

Как я могу показать все активные репозитории пакетов с zypper?

Мне нужен вывод для проверки скрипта.

Я знаю, как перечислить их все. Но я бы хотел не анализировать этот вывод с помощью регулярного выражения:

foo-work:~ # LANG=C zypper lr
# | Alias                             | Name                          | Enabled | Refresh
--+-----------------------------------+-----------------------------------+---------+--------
1 | openSUSE 12.3 FOO-BAR           | openSUSE 12.3 FOO-BAR           | Yes     | Yes    
2 | openSUSE 12.3 FOO-BAR Test      | openSUSE 12.3 FOO-BAR Test      | Yes     | No     
3 | openSUSE-12.3 Updates (FOO-BAR) | openSUSE-12.3 Updates (FOO-BAR) | Yes     | Yes    
4 | openSUSE-12.3-Non-Oss (FOO-BAR) | openSUSE-12.3-Non-Oss (FOO-BAR) | Yes     | No     
5 | openSUSE-12.3-Oss (FOO-BAR)     | openSUSE-12.3-Oss (FOO-BAR)     | Yes     | No     

2 ответа

Решение

Вы ищете -E, --show-enabled-only флаг, чтобы показать только включенные репозитории, или -e -, --export - получить список в формате определения репозитория, который позволяет гораздо проще анализировать?

zypper lr -E -e - |grep name=

При этом будут распечатаны только включенные репозитории SuSE:

      zypper lr | awk -F'|' '{gsub(/ /, "", $0); if($4=="Yes") print $2}'

Вызов gsub предназначен только для удаления начальных и конечных пробелов.

Другие вопросы по тегам