linux - 如何提取 grep 命令中的第一列并传递给 linux cmd 中的下一个命令?
问题描述
我在 Windows 中使用cmder - 一种带有命令提示符的 bash。
在这个cmder中我运行一个命令:
kubectl get pod
我得到了这些结果:
NAME READY STATUS RESTARTS AGE
alpine-d4c458d59-4xxxxsb 1/1 Running 0 31d
cron-my-ecr-1618xxxx-hdcjq 1/1 Running 0 16h
cron-ecr-renew-1618xxxx800-zdxps 1/1 Running 0 10h
我想根据结果运行另一个命令:
kubectl logs cron-my-ecr-1618xxxx-hdcjq
我的问题是我如何运行一个命令而不是两个命令并避免复制粘贴?
我能做的是由 grep 运行:
kubectl get pod | grep cron-my-ecr
这给了我一行结果:
cron-my-ecr-1618xxxx-hdcjq 1/1 Running 0 16h
但是我如何提取第一列并将其传递给下一个命令?
解决方案
你可以做这样的事情
kubectl get pod | grep cron-my-ecr | awk '{print $1}';kubectl describe po $(!!)
推荐阅读
- sql - 事务等待提交,否则阻塞资源
- kubernetes - Velero 备份在 k8 集群上安装失败
- javascript - 防止 CodeMirror AutoResize (react-codemirror2)
- sapui5 - 如何获取点击项的绑定上下文?
- janusgraph - 在实例之间迁移 Janusgraph 中的图
- javascript - 如何将对象绘制到画布上?
- reactjs - Formik 和 Yup
- vb.net - 以编程方式使用 imagemagick 将图像的背景转换为透明
- awk - 如何使用 AWK 编辑特定行并按原样复制其余部分?
- javascript - JS 替换为正则表达式