我想得到一个只有pod名称的列表,结果不应包括状态、示例数等。我正在使用命令oc get pods它打印
oc get pods
Pod1-qawer Running 1/1 2d Pod2g-bvch Running 1/1 3h
预期成果
Pod1-qawer Pod2g-bvch
如何避免打印额外的细节
alen0pnh1#
您可以使用--no-headers省略头文件,也可以使用-o custom-columns=定制输出。
--no-headers
-o custom-columns=
oc get pods -o custom-columns=POD:.metadata.name --no-headers
输出示例
$ oc get pods -o custom-columns=POD:.metadata.name --no-headers goapp-75d9b6bfbf-b5fdh httpd-58c5c54fff-b97h8 app-proxy-6c8dfb4899-8vdkb app-64d5985fdb-xjp58 httpd-dd5976fc-rsnhz
dkqlctbz2#
在此处使用oc get <object> -o name语法(适用于pod):oc get pods -o name但是它也适用于DC、SVC、路由、模板等。样本输出:
oc get <object> -o name
oc get pods -o name
pod/m0001-v5-tst-1-b5xfs pod/m0001-v5-tst-1-mv5zl
注意这些对象前缀(这里:pod/)对于所有OC客户端工具命令是完全可接受的,因此不需要去除前缀,它们可以保留并被进一步处理,例如,如下:
pod/
$ oc describe $(oc get pods -o name | grep m0001-v5) | grep TAG` CONTAINER_TAG: 20200430 CONTAINER_TAG: 20200430
注意,我们没有像往常一样使用pods(即oc describe而不是oc describe pods),以避免重复。另一个例子:
pods
oc describe
oc describe pods
$ oc delete $(oc get dc,svc,route,is -o name) service "nginx" deleted route.route.openshift.io "nginx" deleted imagestream.image.openshift.io "nginx" deleted
ijnw1ujt3#
oc get po --no-headers | awk '{print $1}'
7jmck4yq4#
尝试:oc get豆荚|awk-F ""'打印{$0}'
4条答案
按热度按时间alen0pnh1#
您可以使用
--no-headers
省略头文件,也可以使用-o custom-columns=
定制输出。输出示例
dkqlctbz2#
在此处使用
oc get <object> -o name
语法(适用于pod):oc get pods -o name
但是它也适用于DC、SVC、路由、模板等。
样本输出:
注意这些对象前缀(这里:
pod/
)对于所有OC客户端工具命令是完全可接受的,因此不需要去除前缀,它们可以保留并被进一步处理,例如,如下:注意,我们没有像往常一样使用
pods
(即oc describe
而不是oc describe pods
),以避免重复。另一个例子:
ijnw1ujt3#
oc get po --no-headers | awk '{print $1}'
7jmck4yq4#
尝试:
oc get豆荚|awk-F ""'打印{$0}'