首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查找正则表达式以在shell脚本中执行精确匹配

如何查找正则表达式以在shell脚本中执行精确匹配
EN

Stack Overflow用户
提问于 2020-07-13 19:44:23
回答 2查看 86关注 0票数 1

我有kubernetes命令的输出

代码语言:javascript
运行
复制
kubectl get pods | grep eam-ui
eam-ui-hk8rk                       1/1     Running            0          43m
eam-ui-jn9jj                       1/1     Running            0          43m
eam-ui-v02-2vdlh                   1/1     Running            0          2d6h
eam-ui-v02-4gkxx                   1/1     Running            0          2d6h
eam-ui-v03-2hqjq                   1/1     Running            0          2d22h
eam-ui-v03-jv4w7                   1/1     Running            0          2d22h

我需要匹配第一列中的字符串,如( eam-ui,eam-ui-v02,eam-ui-v03 )。最后5个字母数字将在每次执行时更改

已尝试使用-w,甚至使用-F选项。适用于v02 & v03它起作用了。但是对于eam-ui,它匹配所有

代码语言:javascript
运行
复制
   $ kubectl get pods | grep -w eam-ui-v02
 eam-ui-v02-2vdlh                   1/1     Running            0          2d6h
 eam-ui-v02-4gkxx                   1/1     Running            0          2d6h

 kubectl get pods | grep -w eam-ui-v03


 eam-ui-v03-2hqjq                   1/1     Running            0          2d22h
 eam-ui-v03-jv4w7                   1/1     Running            0          2d22h
    
    
get pods | grep -w eam-ui
eam-ui-hk8rk                       1/1     Running            0          48m
eam-ui-jn9jj                       1/1     Running            0          48m
eam-ui-v02-2vdlh                   1/1     Running            0          2d6h
eam-ui-v02-4gkxx                   1/1     Running            0          2d6h
eam-ui-v03-2hqjq                   1/1     Running            0          2d22h
eam-ui-v03-jv4w7                   1/1     Running            0          2d22h

从上面我只想要

代码语言:javascript
运行
复制
eam-ui-hk8rk                       1/1     Running            0          48m
eam-ui-jn9jj                       1/1     Running            0          48m
EN

Stack Overflow用户

发布于 2020-07-13 22:17:12

我建议使用awk,因为您只需要检查第一个字段值:

代码语言:javascript
运行
复制
# To check eam-ui
kubectl get pods | awk '$1 ~ /^eam-ui-[[:alnum:]]{5}$/'

# To check eam-ui-v02
kubectl get pods | awk '$1 ~ /^eam-ui-v02-[[:alnum:]]{5}$/'

# To check eam-ui-v03
kubectl get pods | awk '$1 ~ /^eam-ui-v03-[[:alnum:]]{5}$/'

详细信息

  • ^ - string
  • eam-ui-的开始-文字text
  • [[:alnum:]]{5} -五个字母数字的chars
  • $ -字符串的结束。

请参阅online demo

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62875151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档