【发布时间】:2020-01-21 20:19:21
【问题描述】:
我正在尝试使用 grep 获得特定的输出,但我无法这样做。 这是我的 grep 命令:
crictl inspect 47aaecb541688accf37840108cc0d19b39b84f8337740edf2ca7e5e81a24328e | grep "io.kubernetes.pod.namespace"
上述命令的输出为"io.kubernetes.pod.namespace": "kube-system",
我什至尝试过
crictl inspect 47aaecb541688accf37840108cc0d19b39b84f8337740edf2ca7e5e81a24328e | grep -Po '(?<="io.kubernetes.pod.namespace": ").*' 但我得到的输出是kube-system",
我只想要值,即 kube-system
如何修改我的 grep 命令。 感谢您的帮助
【问题讨论】:
-
grep是错误的工具。crictl ... | awk '/io.kubernetes.pod.namespace/ { print $4 }' FS=\" -
或
awk -F\" '/io.kubernetes.pod.namespace/{print $4}' -
试试
cut -f 2 -d ':'而不是grep。