grep , egrep, fgrep
grep : 根据模式搜索文本,并把符合模式的文本显示出来
pattern : 文本字符和正则表达式的元字符组合而成匹配条件
grep -i /etc/passwd 不区分大小写
grep --color /etc/passwd 加颜色显示
grep -v 显示初没有备匹配到到字符
grep -o 只显示被模式匹配到到字符串
正则表达式:REGular EXPression,REGEXP
元字符:
·:匹配任意单个字符
[....]:匹配范围内的任意字符
[!...]:匹配范围外的任意字符
字符集合
[:space:]空白字符
[:punct:]标点符号
[:lower:]小写字符
[:upper:]大写字符
[:alpha:]大小写字符
[:digit:]数字
[:alnum:]数字和大小写字母
字符个数:
*:匹配其前面的字符任意次
.*:匹配任意长度的任意字符
\? : 匹配其前面的字符0或者1次
\{m,n\}:匹配其前面的字符最少m次最多n次
位置锚定
^:锚定行首,此字符后面的任意内容必须出现在行首
&:锚定行尾,此字符前面的任意内容必须出现在行尾
^&:空白行
\<或\b:锚定词首,其后面的任意字符必须作为单词的首部出现
\>或\b:锚定词尾,其后面的任意字符必须作为单词的尾部出现
\<....\>:匹配整个单词
分组
\(\):分组
后向引用
跟\1:引用第一个左括号以及与之对应的右括号所包含的所有内容 eg:preg '^\([0-9])*\1$' 匹配以任意数字开头并以该数字结尾的行
跟\2
跟\3