You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行/bash提取yum仓库指定段的sslclientkey路径

提取指定yum仓库段下的sslclientkey路径

ini格式的yum仓库配置是按[段名]分块存储的,直接全局grep配置项无法区分配置所属的段,会返回全文件所有匹配结果,以下是可直接使用的实现方案:

方案1:单awk命令(推荐,无额外依赖效率高)

逐行识别段边界,仅在目标两个仓库段范围内提取配置值,自动忽略其他段的同名配置:

awk '
/^\[/ {
    in_target = ($0 == "[rhel-8-for-x86_64-baseos-rpms]" || $0 == "[rhel-8-for-x86_64-appstream-rpms]")
}
in_target && /^sslclientkey[[:space:]]*=/ {
    sub(/^[^=]*=[[:space:]]*/, "")
    print
}
' /etc/yum.repos.d/redhat.repo

执行后会直接输出两个目标仓库对应的sslclientkey文件路径,不会带出其他仓库的多余结果,同时自动兼容等号前后存在空格的配置写法。

方案2:sed截取目标段后提取

如果更习惯用sed做文本截取,可以先把两个目标仓库的完整配置块切出来,再从中提取对应配置:

sed -n '\#\[rhel-8-for-x86_64-baseos-rpms\]#,/^\[/p; \#\[rhel-8-for-x86_64-appstream-rpms\]#,/^\[/p' /etc/yum.repos.d/redhat.repo | awk -F'=' '/sslclientkey/ {gsub(/^[[:space:]]+|[[:space:]]+$/, "", $2); print $2}'

说明:该逻辑的截取范围是从目标段头开始,到下一个段头标记结束,段间空行会被后续匹配逻辑自动过滤,不影响输出结果。


内容的提问来源于stack exchange,提问作者Siddharth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 12:03:17