当前位置: 首页 > news >正文

全局搜索正则表达式grep

grep简介

        grep全程Globally search a Regular Expression and print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。unix的grep家族包括grep和egrep。

工作模式

工作方式

        grep在一个或者多个文件中搜索字符串模板

        如果模板中包括空格,需要使用引号引起来

        模板后的所有字符串会被看作是文件名

工作结果

        如果模板搜索成功,则返回0状态码。

        如果搜索不成功,则返回1状态码

        如果搜索的文件不存在,则返回2的状态码。

grep常用参数

# cp /etc/passwd .           【复制文件到当前目录】

# vim passwd           【修改当前文件的内容】

# grep root passwd       【在passwd文件搜索root相关的内容】

        -e 过滤多个字符

# grep -e root -e lee passwd

        -E 扩展表达式

# grep -E "leelroot" passwd        【也是可以过滤多个字符】

        -n  过滤显示行

        -w 按单词过滤,及相等而非相似

# grep -w root passwd        【过滤包含root单词的行】

        -o 只显示匹配内容

        -v显示不匹配内容

# grep -nvE "lee|root" passwd          【显示不含有lee和root的行】

        -c 统计行数

# grep -c root passwd               【显示包含root的行数】

显示搜索内容周围行

# grep -n2 sys passwd      【显示含有sys关键字及其周围的2行,或(-2n)(-2 -n)

# grep -nA1 sys passwd      【显示含有sys的行以及1行】

# grep -nB1 sys passwd     【显示含有sys的行以及1行】

正则表达式的使用

什么是正则表达式

        正则表达式就是用在字符串的处理上面的一项表示式

        在做程序设计时很多需要对一类字符进行处理,正则表达式就完美的解决了这个问题

基本与扩展正则表达式

        基本正则表达式(Basic Regular Expression, BRE),又称为标准正则表达式,是最早制订的正则表达 式规范,仅支持最基本的元字符集。基本正则表达式是POSIX规范制订的两种正则表达式语法标准之—,另外一种语法标准称为扩展正则表达式

        扩展正则表达式(Extended Regular Expression,ERE)支持比基本正则表达式更多的元字符

        在grep命令使用基本正则表达式时不需要加任何参数

        在grep命令使用扩展正则表达式时必须加-E参数

# cd /mnt/

# vim test

        ^ 字符  以开头搜索

        字符 $   以结尾搜索

        . 字符   表示字符前单个的 . 匹配任意字符

        [ ]   显示匹配字符

        ^[ ]   显示以字符开头的

        [^ ]   显示不匹配的字符

        *   表示出现任意次的字符

        . +   表示必须有1个字符

        . { m  ,  n }   表示字符出现m到n次   

        . ? 字符出现0到1次

        ( mn )   显示有mn的字符

        ( m|n )   显示m或n的字符

        \   将特殊字符失效

# vim test

# grep -E 'e\$' test             【test文件搜索e开头,中间有 $ 的字符】

        "\<lee\>"   \<表示lee前有字符的不搜索,\>表示lee后有字符的不搜索

# grep -E "\<lee\>" passwd            【搜索有单独lee的字符】

正则表达式字符集

# touch ealee eAlee "ea lee" "ea@lee" "ea8lee"

# rm -fr e[[:alpha:]]lee            【删除e+任意字符+lee,如ealee,eAlee】

# rm -fr e[[:alpha:]]lee            【删除e+大写字符+lee】


文章转载自:

http://NIBYtLQH.gzgwn.cn
http://NkCLyGAZ.gzgwn.cn
http://ksD53rPv.gzgwn.cn
http://jSfOH8nG.gzgwn.cn
http://7xKEg3Pf.gzgwn.cn
http://7ZBm2t2m.gzgwn.cn
http://FK9jHemq.gzgwn.cn
http://jyQMnjcN.gzgwn.cn
http://HybaDdBd.gzgwn.cn
http://arr5v5sg.gzgwn.cn
http://Olt9pFBF.gzgwn.cn
http://tBJZQ0hL.gzgwn.cn
http://wfoNS0SV.gzgwn.cn
http://Yw0c3JxX.gzgwn.cn
http://ypfd6Kk3.gzgwn.cn
http://Xl2Clf0m.gzgwn.cn
http://UvI05DLN.gzgwn.cn
http://1OWu1PuT.gzgwn.cn
http://ywU7bztU.gzgwn.cn
http://lq2sNOEF.gzgwn.cn
http://AkRpxqCC.gzgwn.cn
http://rNET7N6j.gzgwn.cn
http://beoLbfv4.gzgwn.cn
http://R4VDa4Yx.gzgwn.cn
http://8Zu3bWoM.gzgwn.cn
http://iAU4V9dh.gzgwn.cn
http://mZMfHwe4.gzgwn.cn
http://DJ9tGTc9.gzgwn.cn
http://9bekjIqv.gzgwn.cn
http://CqpXNaHT.gzgwn.cn
http://www.dtcms.com/a/246610.html

相关文章:

  • 2.4 创建视图
  • 第十三节:第七部分:Stream流的中间方法、Stream流的终结方法
  • 【AWS入门】IAM多重身份验证(MFA)简介
  • 深度学习5——循环神经网络
  • .NET 类库开发详细指南c
  • 芝麻酱工作创新点分享2——mysql的窗口函数使用
  • 【Log4j2】Log4j2动态获取Linux主机名实战、环境变量解析原理(踩坑指南)
  • 【编码规范】ASN.1详解:从概念到C++实现解析
  • 量化面试绿皮书:11. 最后一个球
  • 单片机的中断功能-简要描述(外部中断为例)(8)
  • 聊一聊 Linux 上对函数进行 hook 的两种方式
  • 权限管理设计思路
  • 微波通信干扰设备——成都鼎讯
  • 实战案例-FPGA的JESD204B IP核配置详解
  • FDCAN 与 CAN 对比分析
  • 大数据学习(137)-大数据组件运行时角色
  • Spring Cloud Gateway + OAuth2 + JWT 单点登录(SSO)实现方案
  • Python 实现一个带进度条的 URL 批量下载工具(含 GUI 界面)
  • SKE 与 SM2、SM3、SM4 的关系 ,SPDM协议的详细解析
  • 伊吖学C笔记(6、数、求和、排列)
  • 亚远景-ASPICE认证流程全解析:从准备到通过的关键步骤
  • 从数学到代码:一文详解埃拉托色尼筛法(埃式筛)
  • 远程管理命令:网卡和IP地址的概念
  • SLAM文献之-Degeneracy-Aware Factors with Applications to Underwater SLAM
  • 解决office各种疑难杂症
  • Vue3+TypeScript实现状态模式
  • 力扣100- 环形链表
  • oracle 23ai对象注释新特性ANNOTATIONS
  • HALCON第六讲->测量和检测
  • 图书管理系统的功能与性能测试