欢迎来到天天文库
浏览记录
ID:57383647
大小:609.00 KB
页数:76页
时间:2020-08-14
《linux正则表达式课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、正则表达式曾树洪正则表达式很多不同的unix命令都采用一种便捷一致的方法来说明匹配模式,这种方法就是正则表达式先学习一个命令:grepgrep[-acinv]‘搜索字符串’filename-c:计算找到‘搜索字符串’的次数。-n:输出行号-v:反向选择-l只给出包含给定模式的文件列表,而不给出文件中的匹配行-o只输出匹配的内容搜索特定字符串$grep–n‘the’express$grep–vn‘the’express$grep-l‘the’*.c在所有源文件中查找the,列出包含the的文件名[]的使用
2、$grep–n‘t[ae]st’express$grep–n‘oo’express$grep–n‘[^g]oo’express$grep–n‘[^a-z]oo’express$grep–n‘[0-9]’express^和$$grep–n‘^the’express$grep–n‘^[a-z]’express$grep–n‘^[^a-zA-Z]’express$grep–n‘.$’express$grep–n‘^$’express$grep–v‘^$’express
3、grep–v‘^#’.和*$grep–
4、n‘g..d’express$grep–n‘ooo*’express$grep–n‘goo*g’express$grep–n‘g*g’express$grep–n‘g.*g’express$grep–n‘[0-9][0-9]*’express{}$grep–n‘o{2}’express$grep–n‘go{2,5}g’express$grep–n‘go{2,}g’express字符类描述[:alnum:]字母数字[a-zA-Z0-9][:alpha:]字母[a-zA-Z][:blank:]空
5、格或制表键[:cntrl:]任何控制字符[:digit:]数字[0-9][:graph:]任何可视字符(无空格)[:lower:]小写[a-z][:print:]非控制字符[:punct:]标点字符[:space:]空格[:upper:]大写[A-Z][:xdigit:]十六进制数字[0-9a-fA-F]字符类描述注意区别以下两个命令:grep-n'[[:space:]]are'expressgrep-n'[[:space:]]*are'express保存匹配的字符串:(…)将捕获的正则表达式匹配的
6、字符串存储在编号为1到9的“寄存器”中。$grep–n‘o{2}’express$grep–n‘^(.)’express匹配行首的第一个字符$grep–n‘^(.)1’express如果一行的头两个字符相同,就匹配他们$grep–n‘^(.).*1$’express匹配一行中头一个字符跟最后一个字符相同的行。正则表达式与命令行特殊符号的区别$ls–l*ls
7、grep–n‘.*’$lsz*ls
8、grep–n‘^z.*’$ls[!z]*sed的使用非交互式行编辑器顺序逐行将文件读入到内存
9、中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端sed工作原理图sed的语法sed[address1[,address2]][options]'{command}'[filename]sed-删除功能dd:Deletepatternspace.Startnextcycle.观察命令结果:sed-e'd'express删除指定行:sed-e'1d'express地址范围:sed-e'1,10d'express从一行开始每隔一行删一行:sed‘0~1d’exp
10、ress从第二行开始每隔7行删一行:sed‘1~7d’expresssed-删除功能带规则表达式的地址删除注释行:sed-e'/^#/d'/etc/services
11、more删除空行:sed-e'/^$/d'express删除第一行到空行:sed-e'1,/^$/d'express删除最后一行:sed-e'$d'express删除包含apple的行到包含Her的行:sed-e'/apple/,/Her/d'expresssed-打印功能‘p’:打印命令注意观测下面两个命令的区别:sed-n'1p'exp
12、resssed'1p'express-n安静模式练习题打印tot文件中从包含"BEGIN"的行开始,并且以包含"END"的行结束的文本块:思考:1如果文件中没有“BEGIN”会怎样?2如果文件中没有“END”会怎样?练习题只打印C源文件中的main()函数练习题删除tot文件中从BEGIN开到END结束的块中包含Name的行sed'/^BEGIN/,/^END/{/Name/d;}'totsed功能:替换's/{oldvalue}/{new
此文档下载收益归作者所有