正则表达式
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中简写为:regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
使用grep
-n 不匹配
-v 显示行号
正则表达式中的特殊字符
- ^word:待搜寻的字符串(word)在行首
如,搜索“root”开始的行:grep ^root 文件名 - word$:待搜寻的字符串(word)在结尾
如,搜索“bash”结尾的行:grep bash$ 文件名 - \:将特殊字符的特殊意义去除
如,搜索包括单引号的行,并把行号也打印出来:grep -n --color ’ 文件名 - *:重复零个到无穷个的前一个字符
如,搜寻sp,后边o重复2次以上的行。记得要写两个o
grep spoo* 文件名 - [list]:字符集合,里面列出想要选择的字符
如,搜索ga或go的行:grep g[ao] 文件名
再如,搜索不以#开头的行:grep ^[^#] 文件名 - [n1-n2]:字符集合,里面列出想要包括的字符范围。
如,搜索包含0-5的行:grep [0-5] 文件名
再如,搜索以小写字母开头的行:grep ^[a-z] 文件名
再如,搜索不以英文字母开头的行:grep ^[^a-zA-Z] 文件名
再如,显示空行及其行号:grep ^$ 文件名 - 正则表达式中,“.”代表任意字符的意思;而“*”代表重复前一个字符到无穷次的意思;任意长度的表示方法:.*
如,寻找包括r开头和t结束且长度为4的字符行:grep r…t 文件名
再如,寻找oo,ooo,oooo等等的数据,也就是说至少要有两个o以上:grep ooo* 文件名
再如,搜索以g开头以g结尾的行:grep g.*g 文件名