grep与正则表达式
1. grep 基本语法grep的作用就是搜索,与find不同的是: find用于搜索目录,文件名 grep最根本上是用于检索文件内容,字符串等 grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] OPTIONS:(最常用的)
PATTERN: (1) 要搜索的字符串 (2) 基本正则表达式 (3) 扩展正则表达式(需要 加 -E 参数)
2.基本正则表达式2.1 选择[][abc] 匹配字符串abc的中任何一个字符。 可以使用范围- [a-z]:匹配所有小写英文字符 [A-Z]:匹配所有大写英文字符 [0-9]:匹配所有数字 [a-zA-Z]:匹配所有英文字符 2.2 . *bash中的.*与正则表达式有着不同的意义. 正则表达式: . : 表示任意一个字符 * :表示有0个或多个 某个字符,例如 gx*可以匹配g的后面有一个或多个x字符:g,gx,gxx,gxxxx等, 2.3 行首行尾^ $^ex :匹配ex出现在行首 tion$:匹配tion出现在行尾 2.4 次数{}
注意,由于{ }在SHELL中有特殊意义,因此作为正则表达式用的时候要用转义一下。 3.扩展正则表达式主要在 基本正则表达式的增加了或| 与() 功能3.1 或 |PATTERN1 | PATTERN2 实现匹配PATTERN1或者 PATTERN2 从中也可以看出'|'的优先级高于其他字符(当然小括号除外) 例如: 匹配字符串string或者char的字符串 grep -E 'string|char' 匹配以开头的字符串string或者char的字符串
grep -E '^string|^char' 3.2 () 小括号和你小学学到的小括号的功能一样啦. 匹配以开头的字符串string或者char的字符串 grep -E '^(string|char)' 4. 正则表达式关于正则表达式的其他内容参见: 正则表达式 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |