如何查看Kubernetes(k8s)命令帮助中仅Examples示例部分的内容
提取kubectl帮助文档示例板块的实现方法
可以实现,你可以结合系统自带的文本处理命令过滤kubectl帮助输出,仅提取展示Examples板块内容。
方法1:使用sed过滤(兼容性最好)
通用命令模板如下:
kubectl [子命令] --help | sed -n '/^Examples:/,/^[A-Z]/p' | sed '$d'
- 命令逻辑说明:
sed -n '/^Examples:/,/^[A-Z]/p':匹配从以Examples:开头的行到下一个以大写字母开头的行(即下一个帮助板块的标题,如Options、See Also等)之间的所有内容sed '$d':删除最后一行(即匹配到的下一个板块的标题行)
- 以
kubectl run为例,执行命令:
即可仅输出kubectl run --help | sed -n '/^Examples:/,/^[A-Z]/p' | sed '$d'kubectl run的所有示例内容。
方法2:使用awk过滤(写法更简洁)
也可以用awk实现同样的效果,命令如下:
kubectl [子命令] --help | awk '/^Examples:/{flag=1;next} /^[A-Z]/{flag=0} flag'
- 命令逻辑说明:
- 匹配到以
Examples:开头的行时,将输出标识flag设为1,跳过当前行不输出 - 匹配到下一个以大写字母开头的行时,将
flag设为0,停止输出 - 仅当
flag=1时输出行,最终得到所有示例内容
- 匹配到以
- 以
kubectl create deployment为例,执行命令:kubectl create deployment --help | awk '/^Examples:/{flag=1;next} /^[A-Z]/{flag=0} flag'
常用优化技巧
如果需要频繁使用该功能,可以将命令封装为shell别名写入终端配置文件(如.bashrc、.zshrc):
alias khelp='f(){ kubectl "$@" --help | awk '\''/^Examples:/{flag=1;next} /^[A-Z]/{flag=0} flag'\''; };f'
配置生效后,直接执行khelp run、khelp expose等命令即可快速查看对应kubectl子命令的示例内容。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

