在 bash 上匹配列中的精确字符串

在 bash 上匹配列中的精确字符串

我有下面的情况,但我只想要第二列,仅READY此而已。

kubectl get nodes | grep "\<Ready\>"
10.5.0.11-c76ed   Ready,SchedulingDisabled   
10.7.0.13-d5bba   Ready 


kubectl get nodes | grep -w Ready
10.5.0.11-c76ed   Ready,SchedulingDisabled   
10.7.0.13-d5bba   Ready 

我想要这个输出:

10.7.0.13-d5bba   Ready 

答案1

也许Ready可以在该行的末尾:

kubectl get nodes | grep 'Ready$'

或者几乎在行尾,保留一些空格:

kubectl get nodes | grep 'Ready[[:space:]]*$'

或者也许是字段 2 中唯一的东西:

kubectl get nodes | awk '$2 == "Ready"'

相关内容