awk 打印第一行有条件

MR.*_*R.i 3 bash awk

命令:

kubectl get pods -n hello | awk '$1 ~ "hello-uwsgi-deployment"  {print $1}'
Run Code Online (Sandbox Code Playgroud)

输出

hello-uwsgi-deployment-5b7498f864-4bfrx
hello-uwsgi-deployment-5b7498f864-h9rxz
hello-uwsgi-deployment-5b7498f864-qlg8z
hello-uwsgi-deployment-5b7498f864-r5nfs
hello-uwsgi-deployment-5b7498f864-vxr6x
Run Code Online (Sandbox Code Playgroud)

如何使用 只打印具有上述条件的第一行awk

我试过

kubectl get pods -n hello |
awk '($1 ~ "hello-uwsgi-deployment") && ('NR==1') {print $1}'
Run Code Online (Sandbox Code Playgroud)

但它什么也没输出。

编辑:kubectl get pods -n hello | awk '($1 ~ /hello-uwsgi-deployment/){print;exit}'这非常有效。

==如何使用and来处理多个条件语句NR==

Rav*_*h13 5

如果我正确地回答了您的问题,您只想打印包含字符串的第一行hello-uwsgi-deployment,那么您可以尝试以下操作吗?我也使用它exit,这样它就不会读取整个Input_file,并为我们节省时间。

kubectl get pods -n hello | awk '($1 ~ /hello-uwsgi-deployment/){print;exit}'
Run Code Online (Sandbox Code Playgroud)

或者您想简单地在整行中搜索字符串,然后尝试以下操作:

kubectl get pods -n hello | awk '/hello-uwsgi-deployment/{print;exit}'
Run Code Online (Sandbox Code Playgroud)