正则表达式之grep ,egrep

前端之家收集整理的这篇文章主要介绍了正则表达式之grep ,egrep前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

. 任意一个字符

* 零个或多个*前面的字符

.* 零个或多个任意字符,即所有

egrep

+ 一个或多个+前面的字符

? 零个或一个?前面的字符

| 或者

[a-Z] 任意英文字

[0-9] 任意数字

^[0-9] 以数字开头

^[^0-9] 以非数字开头

[0-9]$ 以数字结尾

^[a-Z] 以英文字母开头

^[^a-Z] 不以英文字母开头

[a-Z]$ 以英文字母结尾

‘^$’ 表示空行

‘^#’ #开头

grep

语法:grep [-cinvABC] ‘word’ filename

-c @H_301_213@打印符合要求的行数

-i @H_301_213@忽略大小写

-n @H_301_213@打印时连同行号一起显示

-v @H_301_213@取反

-A @H_301_213@后跟一个数字n@H_301_213@,打印时连同下面n@H_301_213@行一起打印

-B @H_301_213@后跟一个数字n@H_301_213@,打印时连同上面n@H_301_213@行一起打印

-C @H_301_213@后跟一个数字n@H_301_213@,打印时上下n@H_301_213@行一起打印

-r @H_301_213@把目录下所有文件遍历一遍

@H_301_213@例:

1@H_301_213@、grep -n 'root' /etc/passwd //过滤包含关键字的行并显示行号

wKioL1NZGDzRgDnzAAB-S4ncYWM276.jpg

2grep -nv 'root' /etc/passwd //过滤不包含关键字的行并显示行号

wKiom1NZGGbD8yyqAAC-Oox2zPo574.jpg

3@H_301_213@、grep -i 'root' 1.txt //过滤关键字时忽略大小写

wKioL1NZGDySiIEkAABlZZlFywg012.jpg

4@H_301_213@、grep -ic 'root' 1.txt //过滤关键字时忽略大小写且只显示行数

wKiom1NZGGaTywbPAAAsJ96ZxDk948.jpg

5grep '[0-9]' /etc/passwd //过滤包含数字的行

wKiom1NZGGaw8RdVAACqacKqvHw137.jpg

6@H_301_213@、grep -v '[0-9]' 1.txt //过滤不包含数字的行

7grep -v '^#' 1.txt //过滤以#号开头的行

8grep -v '^#' 1.txt |grep -v '^$' //去除#号开头的行和所有空行

9grep '^[a-Z]' 1.txt //过滤以英文字母开头的行

10grep '^[^0-9]' 1.txt //过滤以非数字开头的行

11grep 'r.o' 1.txt //过滤包含任意一个字符的行

wKioL1NZGD2RLpIpAABrHDkiI10476.jpg

12@H_301_213@、grep 'r*o' 1.txt //过滤包含零个或多个*前面字符的行

wKioL1NZGD6zPprVAABr0boc2D8088.jpg

13@H_301_213@、grep 'o\{2\}' 1.txt //过滤字符的次数2可以随意更改

wKiom1NZGWny02pkAAB16mlQvpU190.jpg

14@H_301_213@、grep 'root' *.txt

//显示当前目录下所有txt文件中包含root的行(默认显示文件名)

wKioL1NZGD-R34Q5AACm6zXO_cM253.jpg

15@H_301_213@、grep -h 'root' *.txt

//显示当前目录下所有txt文件中包含root的行,-h 不显示文件

wKiom1NZGGigw2x1AACZJYZUZKY637.jpg

egrep grep@H_928_502@的扩展

1egrep 'o+' 1.txt //过滤1个或多个+前面的字符

wKioL1NZGWSDFLPoAADXw7no1-M205.jpg

2egrep '(oo)+' 1.txt //过滤1个或多个‘oo

wKiom1NZGaTS4-UxAACZeQCVzoU074.jpg

3egrep 'o?' 1.txt //过滤0个或1个?前面的字符

wKioL1NZGbfxDMDtAADcD2hx_kM812.jpg

4egrep 'roo|body' 1.txt //过滤包含|前面或者后面的字符

wKioL1NZGbjD-AuBAACZPjmMTXQ509.jpg

5egrep 'r(o|a)o' 1.txt //过滤包含roorao的字符

wKiom1NZGeHjjlrBAAB0ArH8XjU011.jpg


grep 和egrep 还可以过滤两个或多个关键词

grep -E 'abc|123' 1.txt

egrep 'abc|123' 1.txt

原文链接:https://www.f2er.com/regex/361822.html

猜你在找的正则表达式相关文章