kubectl:获取剪切的 pod 名称
kubectl: get cut pod name
我正在玩“kubectl get pods...
”,并且有用例:
我有一些 pods 回来了(让我们只留下名字):
$ kubectl get pods | cut -d' ' -f1
admin-fe-124
admin-be-12345
some-Other-Staff-123
问题:是否可以过滤掉(使用 kubectl get pods
)名字的前 2 个单词(3...4...如我所愿)?
我想看以下内容:
$ kubectl get pods... (some magic)
admin-be
admin-fe
some-Other
那么,"some magic"下面应该有什么?谢谢!
你的意思是只打印第一列吗?名字?
kubectl get po | awk '{print }'
NAME
kubeserve-68776dd94c-2wmc9
kubeserve-68776dd94c-qvg6c
kubeserve-68776dd94c-vqbcf
myreplicaset-gd6hj
myreplicaset-mfthn
myreplicaset-nsb9s
nginx-7db9fccd9b-hrp57
nginx-7db9fccd9b-m6t6l
ssd-monitor-lgmmr
ssd-monitor-m5sz6
然后您可以使用
awk '{print , }'
等
编辑:或者您的意思是打印前两个条目?
在这种情况下,只需将输出通过管道传递给 set 并跳过第一行,例如
kubectl get po | awk '{print }' | sed -n 2,3p
kubeserve-68776dd94c-2wmc9
kubeserve-68776dd94c-qvg6c
这样试试
kubectl get pods | awk -F '-' {'print ,'}
其中“-”就像分隔符,$1、$2 ... 是单词
使用数组和变量替换
# test function to create needed output
test_names () {
echo "
admin-fe-124
admin-be-12345
some-Other-Staff-123
"
}
test=( $(test_names) ) # create an array
echo "${test[@]%-*}" # use variable substitution to cut last part
你的情况
names=( $(kubectl get pods | cut -d' ' -f1) )
echo "${names[@]%-*}"
我正在玩“kubectl get pods...
”,并且有用例:
我有一些 pods 回来了(让我们只留下名字):
$ kubectl get pods | cut -d' ' -f1
admin-fe-124
admin-be-12345
some-Other-Staff-123
问题:是否可以过滤掉(使用 kubectl get pods
)名字的前 2 个单词(3...4...如我所愿)?
我想看以下内容:
$ kubectl get pods... (some magic)
admin-be
admin-fe
some-Other
那么,"some magic"下面应该有什么?谢谢!
你的意思是只打印第一列吗?名字?
kubectl get po | awk '{print }'
NAME
kubeserve-68776dd94c-2wmc9
kubeserve-68776dd94c-qvg6c
kubeserve-68776dd94c-vqbcf
myreplicaset-gd6hj
myreplicaset-mfthn
myreplicaset-nsb9s
nginx-7db9fccd9b-hrp57
nginx-7db9fccd9b-m6t6l
ssd-monitor-lgmmr
ssd-monitor-m5sz6
然后您可以使用
awk '{print , }'
等
编辑:或者您的意思是打印前两个条目?
在这种情况下,只需将输出通过管道传递给 set 并跳过第一行,例如
kubectl get po | awk '{print }' | sed -n 2,3p
kubeserve-68776dd94c-2wmc9
kubeserve-68776dd94c-qvg6c
这样试试
kubectl get pods | awk -F '-' {'print ,'}
其中“-”就像分隔符,$1、$2 ... 是单词
使用数组和变量替换
# test function to create needed output
test_names () {
echo "
admin-fe-124
admin-be-12345
some-Other-Staff-123
"
}
test=( $(test_names) ) # create an array
echo "${test[@]%-*}" # use variable substitution to cut last part
你的情况
names=( $(kubectl get pods | cut -d' ' -f1) )
echo "${names[@]%-*}"