如何在linux cmd中提取grep命令中的第一列并传递给下一个命令?
我在windows中使用了一种带有命令提示符的bash 在此cmder中,我运行了一个命令:如何在linux cmd中提取grep命令中的第一列并传递给下一个命令?,linux,windows,cmd,cmder,Linux,Windows,Cmd,Cmder,我在windows中使用了一种带有命令提示符的bash 在此cmder中,我运行了一个命令: kubectl get pod 我得到了这些结果: NAME READY STATUS RESTARTS AGE alpine-d4c458d59-4xxxxsb 1/1 Running 0 31d cron-my-ecr-1618xxxx-hdcjq
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 $(!!)
您可以使用cut、awk或sed来完成。可能还有其他人,但这些是最先想到的。