• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

yuQbug

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

linux命令学习--grep,egrep

grep -i

--ignore-case 忽略大小写

grep -e

适用于简单的正则表达式,比如搜索一个字符串中是否包含特定的关键词。例如:

grep -e 'hello' file.txt

# 将会在文件file.txt中搜索出所有包含“hello”这个关键词的行。

grep -E

适用于复杂的正则表达式,可以使用多项选择、重复和子表达式来匹配文本。例如:

grep -E '(foo|bar)baz' file.txt

#会在文件file.txt中搜索出所有包含“foobaz”或者 “barbaz” 的行。

egrep

egrep是grep的扩展,执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范,且egep支持更多的元字符,即egrep使用的是拓展的正则表达式。

用于egrep和 grep -E的元字符扩展集

+

匹配一个或多个先前的字符。如:’[a-z]+able’,匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。

?

匹配零个或多个先前的字符。如:'gr?p’匹配gr后跟一个或没有字符,然后是p的行。

a|b|c

匹配a或b或c。如:grep|sed匹配grep或sed

()

分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

grep和egrep都要通过正则表达式来筛选我们想要的东西,只能筛选文本内容,不能对目录筛选,如果想筛选目录可以通过管道把目录传过去,或者把目录存到文件里头再筛选。

posted on 2023-04-28 17:25  yuQbug  阅读(96)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3