3.1正则表达式基础
正则表达式的主要功能是文本查询和字符串操作。实际上就是字符串过滤。
正则表达式包括普通字符(a,b,1,2等)他们都只有字面意思和元字符(*,^等)他们超越了字面意思,被给予了附加的含义。
正则表达式一般分为基本正则表达式和扩展正则表达式。
基本正则表达式的元字符集合及其意义,如图中表格所示:
特殊的正则表达式^$匹配空行。
3.2 正则表达式的扩展
3.3通配
bash shell中的通配,元字符的含义发生了一些变化。具体的变化可以参见教材,由于通配使用频率不高,所以这里不再赘述。
3.4grep命令
强大的文本搜索工具,它使用正则表达式来搜索文本,并且把匹配的行打印出来。
grep的一般格式为:grep [选项] [模式] [文件]
它在一个或多个文件中搜索满足模式的文本行,把结果打印到输出屏幕。
3.4.2 grep命令可以和正则表达式一起使用,这样能提高更强大的搜索功能。
5.POSIX
-----------------------------上机练习-----------------------------
1.分析下面的正则表达式表达了什么含义
(1)所有已kK开头的单词。
(2)重复字符k,次数为6到8次。
(3)重复字符k,至少6次
(4)重复字符k,10次
(5)NEW YEAR
(6)空行
(7)匹配任意两个阿拉伯数字加上一个小写字母
(8)一个大写的英文字母,重复1到3次,加上一个逗号,重复一个阿拉伯数字5次
(9)以.开头,后面加上任意的两个字符。
(10)p和z以外的某个英文字符重复0到n次,再以.结尾
2.应写为:[0-9]*.[a-z][a-z]
3.答案分别是*.doc *.txt *.ppt *.docx *.pptx
4.grep -n charpter Windows
5.也不会进行搜索了吧,因为后面指定了要搜索以pem结尾的文件。
6. 第一个命令是统计空白行,第二个命令是统计非空白行,第三个命令不太清楚。。。。。
7. grep -cr ^$ * grep -cr ^[^$] *
8.我觉得不会再显示无效选项错误了 因为-n在前面已经表示选项了。
9.第四条命令应该表示的是查找<the>吧