文本处理工具--正则表达式

在学习linux中文本搜索是很重要的 对于初学者来说如何快速学会运用正则表达式相当重要的。

文本搜索工具,根据用户指定的文本搜索模式(搜索条件)对目标进行逐行搜索,显示能匹配的行。

文本搜索:

grep :基本正则表达式

egrep:扩展正则表达式

fgrep:fast,不支持使用正则表达式

其语法格式: grep [option]...‘PATTERN‘ FILE...

正则表达式:是一类字符所书写的模式,其中许多字符不表示其字面意义,而是表达控制或通配等能;

元字符:不表示其字面意义,而用于额外功能性描述。

基本正则表达式

1.字符匹配


.


匹配任意单个字符


[]


匹配指定范围内的任意单个字符

[0-9],[[:digit:]]

[a-z],[[:lower:]]

[A-Z],[[:upper:]]

[[:space:]]

[[:punct:]]

[[:alpha:]]

[[:alnum:]]


[^]


取反

2.次数匹配元字符:用于实现指定其前面的字符所能够出现的次数。


*


任意长度,它前面的字符可以出现任意次


\?


0次或1次,它前面的字符可有可无的


\m


m次,它前的字符要出现m次


\{m,n\}


至少m次,之多n次


\{m,\}


至少m次


\{0,n\}


至多n次


.*


任意长度的任意字符

3.位置锚定:


^


行首锚定;写在模式最左侧   例如:grep "^r...t"  /etc/passwd


$


行尾锚定;写在模式最右侧  例如:grep "r...t$"  /etc/passwd


^$


空白行       例如:grep "^$"  /etc/passwd | wc -l


\<


词首,出现于单词左侧.     例如: grep "\<r...t" /etc/passwd


\>


词尾,出现于单词右侧      例如        grep  "r...t\>"  etc/passwd

4.分组:


\(\)


分组中的模式匹配到内容,可由正则表达式引擎记忆在内存中,之后可被引用例如:\(ab\)*    grep "\(ro\)*" etc/passwd


\(\)引用


有编号:自左而右的左括号,以及与其匹配右括号 例如 \(ab)(x\)y\).*\(mn\)


\#


引用第n个括号所匹配到的内容,而非模式本身

例如:

\(ab\?c\).*1

正确:abcmnaaa         错误:abcmnac

abcmnabc

acmnac

5:grep的命令选项


-v


反向选取


-o


仅显示匹配的字串,而非字串所在的行


-i


忽略字符大小写


-E


支持使用扩展正则表达式


-A#


显示上行  #(变量输入几行)


-B#


显示下行


-C#


显示全部

文本处理工具--正则表达式,布布扣,bubuko.com

时间: 2024-10-11 21:14:08

文本处理工具--正则表达式的相关文章

文本处理工具与正则表达式、grep

一.文本处理工具 1.文本查看命令 cat [OPTION]- [FILE]- -n 显示行号 -b 空格行不加行号,有字符的行才加 -s  相邻的空行压缩为一行,长和-n联用 -v 处理windows中的^M -T 可以看到tab\space -A  显示所有控制符(包括windows文本中的^M,^T) -E  显示行结束符$ (回车) tac [OPTION]- [FILE]-  将每个指定文件按行倒置并写到标准输出. 效果与cat 相反 rev  将指定文件从最后一个字符开始显示到第一个

正则表达式和文本处理工具

一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则:     比如我们描述:4条腿      你可能会想到的是四条腿的动物或者桌子,椅子等     继续描述:4条腿,活的           就只剩下四条腿的动物这一类了 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep.sed.awk,它们三者均可以解释正

文本管理工具及正则表达式的元数据总结

1.cat命令 功能: 显示文本内容,连接合并文本内容并在标准设备上输出 语法: cat [OPTION]... [FILE]... 选项: -E:显示行结束符(回车)$ -A:显示所有控制符,相当于-vET -n:对显示出的每一行进行编号 -b:对非空白行编号 -s:将连续的空行压缩成一行 -T:把TAB字符显示为^I -v:除了 LFD 和 TAB 之外所有控制符用 ^ 和 M- 记方式显示 示例: 查看/etc/issue文件内容 [[email protected] ~]# cat /e

grep文本查看工具及正则表达式

grep文本查看工具及正则表达式 grep:搜索及过滤文本工具: (根据用户所指定的"模式"搜索,过滤条件"对目标文件进行过滤性匹配):grep自带正则表达式引擎工具. 所谓模式:由正则表达式所得元字符及普通文本字符所编写出来的过滤条件"模式" grep:三种支持模式: grep:基本正则表达式 egrep:支持扩展正则表达式 fgrep :不支持正则表达式 三种支持模式因其可以(grep -E:切换扩展,egrep-G:切换基本,分别有以-F切换fgre

基本正则表达式和文本处理工具之grep、egrep和fgrep

Grep(global search regular expression and print out the line全局搜索正则表达式并把行打印出来),是一种强大的文本搜索工具,egrep和fgrep的命令跟grep只有很少的差别,linux使用的是GNU版本的grep,功能非常强大,可以通过-G,-E,-F命令选项来使用egrep和fgrep的功能,grep的工作方式为在一个或多个文件中搜索字符串模板,如果模板包括空格则必须被引用,模板后的所有字符串被看做文件名,搜索的结果被送到屏幕,不影

关于 文本处理工具、正则表达式、grep 的简单举例

文本处理工具 抽取文本的工具 文件内容:less和cat 文件截取:head和tail 按列抽取:cut 按关键字抽取:grep 文件查看命令:cat,tac,rev cat [选项] [file] cat -n     对显示出的每一行进行编号 cat -b     非空行编号 cat -ns    连续压缩空行成一行 cat -v     显示回车符 cat -E     显示行结束符$ cat -A     显示所有控制符 tac file   反向显示内容 rev file   反向显示

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

grep文本搜索工具与正则表达式

一.文本搜索工具grep (一)grep简介 Linux上常用的三个文本处理工具被人们称为Linux文本处理三剑客,他们分别是: 1.grep(egrep,fgrep):文本搜索工具,基于"pattern"对给定的文本进行搜索操作. 2.sed:stream editor,流编辑器,行编辑工具,文本编辑工具. 3.awk:GNU awk,文本格式化工具,文本报告生成器. 他们都是很优秀的文本处理工具.现在,我就重点介绍下grep. grep:global search regular

正则表达式及linux文本检查工具

一.linux正则表达式之前的三个文本查找命令 grep:(global search regular RE )全面搜索正则表达式并把行打印出来) 相关解释:最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 名称:print lines matching a pattern是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来 [[email protected] ~]# grep 'root' /etc/passwd root:x:0:0