欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux中的glob、grep、正则表达式 有大用

1、glob 文件名称通配

*:任意字符或字符串

?:单个任意字符

[]:指定范围的单个任意字符

[^]:指定范围外的单个任意字符


2、grep:global regular expression printing 文本过滤工具,实现根据指定的模式pattern逐行搜索文件内容,并将匹配到的行显示出来。

pattern:匹配条件,由元字符和其他字符组成

regular expression:basic re + extended re

语法:grep + [option] + 'pattern' +File 1 ... File n

常用option

-v:显示未匹配到的行

--colour=auto:用红色字体显示匹配到的行

-i:匹配时不区分大小写

-o:只显示匹配到的字符串

-A#:显示匹配到的行之外,还显示其后面几行,#代表一个数字,表示几行

-B#:显示匹配到的行之外,还显示其前面几行

-C#:显示匹配到的行之外,还显示其前其后几行

-E:扩展表达式


3、基本正则表达式元字符

.:表示匹配任意单个字符

[]:表示匹配指定范围内的单个字符

[^]:表示匹配指定范围外的单个字符

.*:任意长度的任意字符


次数匹配(贪婪模式:能匹配多长就匹配多长)

*:表示匹配次数,即表示匹配*号之前的字符0次或多次

?:表示匹配?号之前的字符0次或1次

\{m, n\}:至少m次,至多n次(\用来转义大括号{的)

\{m,\}:至少m次

\{0,n\}:至多n次

\{m\}:m次


锚定词首:\<锚定词,如\<root

锚定词尾:\>锚定词,如root\>

行首锚定:^,如^root

行尾锚定:$,如root$


分组字符:,如ab,即表示ab成组出现


来自  https://blog.csdn.net/alxima/article/details/40211815

普通分类: