如何在linux cmd中提取grep命令中的第一列并传递给下一个命令?

如何在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

我在windows中使用了一种带有命令提示符的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 $(!!)

您可以使用cut、awk或sed来完成。可能还有其他人,但这些是最先想到的。