Grep查找行中不匹配的值

Grep查找行中不匹配的值,grep,Grep,我有一个Kubernetes集群,里面有很多豆荚。每个吊舱有任意数量的容器。从命令行中,我可以列出所有POD并获得如下输出: pod1 2/2 pod2 1/3 pod3 1/2 pod4 4/5 pod5 5/5 pod5 0/1 ...etc... 我想要一个grep,它会告诉我那些容器还没有启动的pod。i、 e.列出所有podN x/ywherex=y。我得到的最接近的结果是: kubectl获取播客| grep-e“1/[^1]”-e“2/[^2]”-e“3/[^3]”-

我有一个Kubernetes集群,里面有很多豆荚。每个吊舱有任意数量的容器。从命令行中,我可以列出所有POD并获得如下输出:

pod1  2/2
pod2  1/3
pod3  1/2
pod4  4/5
pod5  5/5
pod5  0/1
...etc...
我想要一个grep,它会告诉我那些容器还没有启动的pod。i、 e.列出所有
podN x/y
where
x=y
。我得到的最接近的结果是:

kubectl获取播客| grep-e“1/[^1]”-e“2/[^2]”-e“3/[^3]”-e“4/[^4]“-e”5/[^5]”

这是可行的,但我希望在grep(或其他Linux-CLI工具)中有一种方法可以做到这一点,而不必使用无休止的-e术语,例如,将匹配项分配给变量


kubectl get pods | grep“${var=[0-9]+}/[^${var}]”

抑制所有与grep具有相同数字的行:

kubectl get pods | grep -vE '([0-9]+)/\1'

输出:

pod2 1/3 pod3 1/2 pod4 4/5 pod5 0/1 pod2 1/3 pod3 1/2 pod4/5 POD50/1
kubectl get pods | sed -E '/([0-9]+)\/\1/d'
pod2 1/3 pod3 1/2 pod4 4/5 pod5 0/1