首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于每个名称和命名空间

对于每个名称和命名空间
EN

Stack Overflow用户
提问于 2019-02-25 19:45:43
回答 2查看 67关注 0票数 0

我正在尝试运行一些批量命令。在下面的例子中,我想删除所有没有运行状态的pod。

xargs的管道输入如下所示

代码语言:javascript
复制
ingress-nginx nginx-ingress-controller-b84c455b-5k48p
ingress-nginx nginx-ingress-controller-b84c455b-5kwsc
ingress-nginx nginx-ingress-controller-b84c455b-88tnp
ingress-nginx nginx-ingress-controller-b84c455b-q96rj
ingress-nginx nginx-ingress-controller-b84c455b-tb98v
ingress-nginx nginx-ingress-controller-b84c455b-v9xmw
kafka kafka-0
kafka zookeeper-2
kube-system kubernetes-dashboard-5946dfdf8d-hz7gk
kube-system kubernetes-dashboard-5946dfdf8d-sv5lb
logging es-data-1
...

我希望在同一命令中同时使用这两个值。我的尝试如下所示

代码语言:javascript
复制
$ kubectl get pods --all-namespaces | \
                    grep -v Running | \
                          tr -s ' ' | \
                   cut -d" " -f 1,2 | \
                         tail -n +2 | \
         xargs -n 1 echo "cmd $1 $2"

输出为

代码语言:javascript
复制
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-5k48p
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-5kwsc
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-88tnp
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-q96rj
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-tb98v
cmd   ingress-nginx
cmd   nginx-ingress-controller-b84c455b-v9xmw
cmd   kafka
cmd   kafka-0
cmd   kafka
cmd   zookeeper-2
cmd   kube-system
cmd   kubernetes-dashboard-5946dfdf8d-hz7gk
cmd   kube-system
cmd   kubernetes-dashboard-5946dfdf8d-sv5lb
cmd   logging
cmd   es-data-1

显然,我想要一个同时包含两个输入值的命令。对如何实现这一点有什么建议吗?是否可以使用更简单的命令?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-25 20:25:27

确保捕获每行(-L1),然后让shell负责$解析,即下面的代码应该适用于您

代码语言:javascript
复制
xargs -L1 sh -c 'echo cmd $1 $2' --
票数 1
EN

Stack Overflow用户

发布于 2019-02-25 19:51:03

您可以使用-n 2处理两个参数

代码语言:javascript
复制
xargs -n 1 echo cmd

指定$1$2不适用于xargs,这两个参数将自动发送到命令。实际上,它们是导致输出中cmd后面出现空格的原因:在xargs看到它们之前,shell会对它们进行解释,并且它们会扩展为空字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54865465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档