bash - 在管道后的 nlines 上的 bash 和 xargs 循环中
问题描述
团队,我的以下命令,对任何有问题的 pod 进行 greps,然后将它们一一删除并删除。
但我只想使用命令输出的前 10 行。
kubectl get pods --all-namespaces | grep -i -e Evict -e Error |
awk -F ' ' '{print $1, $2, $4}' |
xargs -l1 -- sh -c 'kubectl delete pod "$2" -n "$1"' --
上面的命令正在删除所有行,但我只想删除前 10 行。任何提示?
我试过了
kubectl get pods --all-namespaces | grep -i -e Evict -e Error |
awk -F ' ' '{print $1, $2, $4}' | for run{1..10}; do
xargs -l1 -- sh -c 'kubectl delete pod "$2" -n "$1" ' --;
done
曾经,我知道这一点,我可以将它用于任何命令节点或 pod。
解决方案
在传递给 xargs 之前,您可以使用它head
来获取前 10 行输出。使用-n
选项指定行数(在本例中为head -n10
)
就在管道到 之前xargs
,插入以下内容:| head -n10 |
。这将过滤除前面输出的前十行之外的所有内容。
尝试这个:
kubectl get pods --all-namespaces | grep -i -e Evict -e Error | awk -F ' ' '{print $1, $2, $4}' | head -n10 | xargs -l1 -- sh -c 'kubectl delete pod "$2" -n "$1"' --
推荐阅读
- terminal - printf "\033[8;(width);(height)t" 适用于特定的高度和宽度,但有没有更通用的东西
- .htaccess - 使用 HTACCESS 隐藏 url 的中间部分而不会出现 404 错误
- macos - 在系统对话框中激活和输入详细信息的脚本
- ionic-framework - Ionic:自定义硬件按钮功能不会取消订阅
- javascript - 从 OnClick 按钮显示表单
- javascript - 如何在 monorepo 项目中创建可扩展的自定义渲染函数
- php - 如何获取我已经与他们进行过会话的用户列表
- java - 使用 Spring Boot 的 MongoDB 复杂对象版本控制
- python - Numpy savetxt 错误。ValueError:预期 1D 或 2D 数组,得到 0D 数组
- cypress - cy.findByText - 字符串替换