我想从Red Hat订阅管理器中检索某些信息。
我已经运行了一些命令,但是它们没有给我我想要的东西:
subscription-manager list --consumed 2>/dev/null | \
grep -e "SKU\|Contract\|Account\|Serial\|Pool ID\|System Type"
这里可以很好地检索信息,但是在订阅管理器中有一个部分列出了您订阅的REPOS。
例如,这是一对多的关系
Provides: Red Hat Beta
Red Hat Enterprise Linux Atomic Host
Red Hat CodeReady Linux Builder for x86_64
Red Hat Enterprise Linux Atomic Host Beta
...
如果没有混乱,我无法对此进行搜索,或者可以吗?
理想情况是在Provides:
部分中列出所有已订阅的存储库进行重申。还是使用awk
或sed
会更好?
答案 0 :(得分:1)
我没有方便的机器来安装它,但是请尝试一下:
subscription-manager list --consumed 2>/dev/null |
sed -En '/^Provides:\s+/,/^\s*$/p'
-En
说使用扩展模式匹配,但是除非询问,否则不要打印。
/^Provides:\s+/,/^\s*$/p
将所有从起始字符串到空行的行都匹配,并打印出来。
如果没有以下空白行,请尝试
sed -En '/^Provides:\s+/,/^\w/{ /^[P ]/p }'
或者也许
sed -En '/^Provides:\s+/,/^\w/{ /^Provides: |^\s/p }'