我怎样才能显示所有活动的软件包存储库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
答案1
您是否正在寻找-E, --show-enabled-only
仅显示启用的存储库的标志,或者-e -
,--export -
以获取存储库定义格式的列表,以便更容易地进行解析?
zypper lr -E -e - |grep name=
答案2
这将仅打印 SuSE 上启用的存储库:
zypper lr | awk -F'|' '{gsub(/ /, "", $0); if($4=="Yes") print $2}'
gsub 调用仅用于删除前导和尾随的空白。