练习文本
1 | "Open Source" is a good mechanism to develop programs. |
1.匹配’the’.不论大小写
1 | [root@localhost ~]$grep -i "the" zz.txt |
2.匹配tast和test.
1 | [root@localhost ~]$grep 't[ae]st' zz.txt |
3.匹配不包含g的”oo”字符串
1 | [root@localhost ~]$grep "[^g]oo" zz.txt |
这里倒数第二行实际是匹配到tools,而最后一行匹配的不是goo这个g开头的字符串,而是ooo.
4.匹配有数字的行
1 | [root@localhost ~]$grep "[0-9]" zz.txt |
还可以用perl正则来实现:
1 | [root@localhost ~]$grep -P "\d" zz.txt |
grep如果要使用perl正则 需要加上-P参数
5.匹配开头是the单词的一行
1 | [root@localhost ~]$grep "^the" zz.txt |
6.查找不以小写字母开头的行
1 | [root@localhost ~]$grep "^[^a-z]" zz.txt |
当\^在前面,表示匹配开头,当\^在[]中括号里面,表示取反
7.匹配小数点结尾的行.
1 | [root@localhost ~]$grep "\.$" zz.txt |
或者
1 | [root@localhost ~]$grep '\.\B' zz.txt |
- 匹配g开头,结尾是d,的四个字符.也就是g..d
1 | [root@localhost ~]$grep "g..d" zz.txt |
9.找出2个0以上的字符串
1 | [root@localhost ~]$grep "ooo*" zz.txt |
或者:
1 | [root@localhost ~]$grep "o\{2,\}" zz.txt |
因为{}括号有特殊的意义,所以需要用转义字符\来让他失去特殊意义
10.查找g开头,g结尾,中间2-5个o的字符串….
1 | [root@localhost ~]$grep "^go\{2,5\}g" zz.txt |