搜寻特定字符串the
常用参数:-a 将binary档案以test档案的方式搜寻数据 -c 计算找到'搜寻字符串'的次数 -i 忽略大小写的不同 -n 顺便输出行号 -v 反向选择。即输出没有'搜寻字符串'内容的那一行
$ grep -n 'the' regular_express
$ grep -in 'the' regular_epress
字符组匹配
[]中包含的任意一个字符,只能是一个。字符组支持由连字符'-'来表示一个范围。当'-'前后构成范围时,要求前面的字符的码位小于后面字符的码位。[^...]排除型字符组。排除后面的字符。
[abc] a或b或c
[0-9] [0123456789] 0~9中任意一个数字
[u4e00-u9fa5] 表示任意一个汉字
[^a1<] 表示除a、1、<外的其他任意一个字符
[^a-z] 表示除小写字母外的任意一个字符
$ grep -n 't[ae]st' regular_express.txt
$ grep -n '^#' regular_express.txt
行首符^与行尾符$
$ grep -n '^the' regular_express.txt #查询以the为行首的命令符
'^[A-Z]' 表示以大写字母为开头 '[^A-Z]' 表示除大学祖母A-Z的所有字符
$ grep -n 'd$' regular_epress.txt #查询以d字母结尾的行
$ grep -n '^$' regular_express.txt #查找空行
任意一个字符'.'与重复字符'*'
$ grep -n 'a.ou' regular_express.txt #查找a?ou?类型的字符 一个小数点只能表示一个未知字符
*:代表重复前面0个或多个字符
$ grep -n 'e*' regular_express.txt #前面有0个或多个e
e* 具有空字符或一个以上的e
ee* 第一个e必须存在,第二个可以是0或多个e字符
eee* 前面两个e必须存在,第三个e则可以是0或多个e字符
ee*e 第一个e和第三个e必须存在,中间可以有0或多个e
限定连续字符范围{}
{}可以限制一个范围区间内重复字符数。
$ grep -n 'o{2}' regular_express.txt #查找连续的两个o字符
$ grep -n 'go{2,5}g' regular_express.txt #查找有2~5geo