grep与正则表达式

1. grep 基本语法

grep的作用就是搜索,与find不同的是:

find用于搜索目录,文件名

grep最根本上是用于检索文件内容,字符串等

       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

OPTIONS:(最常用的)

-a 以文本文件方式搜索 

-c 计算找到的符合行的次数 

-i 忽略大小写 

-n 顺便输出行号 

-v 反向选择,即找 没有搜索字符串的行

PATTERN:

(1) 要搜索的字符串

(2) 基本正则表达式

(3) 扩展正则表达式(需要 加 -E 参数)

2. 基本正则表达式

2.1 选择[]

[abc] 匹配字符串abc的中任何一个字符。

可以使用范围-

[a-z]:匹配所有小写英文字符

[A-Z]:匹配所有大写英文字符

[0-9]:匹配所有数字

[a-zA-Z]:匹配所有英文字符


2.2 . * 

bash中的.*与正则表达式有着不同的意义.

正则表达式:

. : 表示任意一个字符

* : 表示有0个或多个 某个字符, 例如 gx*可以匹配g的后面有一个或多个x字符: g, gx,  gxx, gxxxx等,


2.3 行首行尾^ $

^ex :匹配ex出现在行首

tion$:匹配tion出现在行尾

2.4 次数{}

{n}n是一个非负整数。匹配确定的n次。
{n,}n是一个非负整数。至少匹配n次。
{n,m}mn均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

注意,由于{ }在SHELL中有特殊意义,因此作为正则表达式用的时候要用\转义一下。 


3. 扩展正则表达式

主要在 基本正则表达式的增加了或| 与() 功能

3.1 或 |

PATTERN1 | PATTERN2

实现匹配PATTERN1或者 PATTERN2

从中也可以看出'|'的优先级高于其他字符(当然小括号除外)

例如: 匹配字符串string或者char的字符串

grep -E 'string|char'

匹配以开头的字符串string或者char的字符串

grep -E '^string|^char'

3.2 () 小括号

和你小学学到的小括号的功能一样啦.

匹配以开头的字符串string或者char的字符串

grep -E '^(string|char)'

4. 正则表达式

关于正则表达式的其他内容参见:

正则表达式







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值