正则表达式-常用操作实例学习
时间:2008-08-27 来源:dywsdu
-
[root@test root]# grep [-acinv] '搜尋字串' filename
参数说明:
-a 将 binary 文档以 text 文档的方式搜索
-c 計算找到 '搜尋字串' 的次數,不显示符合样式的行
-i 忽略大小写,默认情况下大小写视为不同字符
-n 順便輸出行號,有-c的时候忽略该选项
-v 反义选项,使grep选择所有和模式不匹配的行。
-c 计数选项。请求包含匹配的搜索文件中匹配行的数量。
-l 列表选项。显示包含有匹配的文件名的列表,匹配行本身不用显示。
-w 单词选择。指示grep,egrep和fgrep匹配单词,而不是匹配单词中包含的字符串。
-r 递归选项。指示GNUgrep和egrep检查做为参数的目录下的文件,然后递归的检查该目录下所有子目录下的文件。
-x 选择和目标整行匹配的行。
-e 指示grep将下一个参数做为搜索目标。
-F 使GNUgrep的行为和fgrep行为相同。
-E 使GUNgrep的行为和egrep行为相同。
^ 匹配行开始标记。
$ 匹配行结束标记。
. 匹配任意单个字符。
* 对该符号的前一字符进行零次或者多次匹配。
+ 对前一对象至少一次的匹配。
? 对前一对象零次或一次匹配。
{n} 对前一对象进行n此的匹配。
{n,} 对前一对象n次或以上的匹配。
{n,m} 对前一对象n次到m次的匹配。
[] 匹配方括号中的任意字符(或字符集中的一个字符)
- 指明范围,类似a-z,表示从a到z中的任意一个字符
\< 匹配单词的开始
\> 匹配单词的结束
\ 是特殊字符的含义失效。
-
grep -n 'the' 123.txt 搜索the字符——搜尋特定字串
-
grep -n 't[ea]st' 123.txt 搜索test或taste两个字符——利用[]來搜尋集合字元
-
grep -n '[^g]oo' 123.txt 搜索前面不为g的oo——向選擇 [^]
-
grep -n '[0-9]' 123.txt 搜索有0-9的数字
-
grep -n '^the' 123.txt 搜索以the为行首——行首搜索^
-
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母开头
-
grep -n '[a-z]$' 123.txt 搜索以a-z结尾的行——行尾搜索$
-
grep -n 'g..d' 123.txt 搜索开头g结尾d字符——任意一個字元
-
grep -n 'ooo*' 123.txt 搜索至少有两个oo的字符——重複字元 *