- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式 曾树洪 正则表达式 很多不同的unix命令都采用一种便捷一致的方法来说明匹配模式,这种方法就是正则表达式 先学习一个命令:grep grep [-acinv] ‘搜索字符串’ filename -c:计算找到‘搜索字符串’ 的次数。 -n:输出行号 -v:反向选择 -l只给出包含给定模式的文件列表,而不给出文件中的匹配行 -o 只输出匹配的内容 搜索特定字符串 $ grep –n ‘the’ express $ grep –vn ‘the’ express $ grep -l ‘the’ *.c 在所有源文件中查找the,列出包含the 的文件名 []的使用 $ 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 | grep –v ‘^#’ . 和* $ grep –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-z A-Z 0-9] [:alpha:] 字母 [a-z A-Z] [:blank:] 空格或制表键 [:cntrl:] 任何控制字符 [:digit:] 数字 [0-9] [:graph:] 任何可视字符(无空格) [:lower:] 小写 [a-z] [:print:] 非控制字符 [:punct:] 标点字符 [:space:] 空格 [:upper:] 大写 [A-Z] [:xdigit:] 十六进制数字 [0-9 a-f A-F] 字符类 描述 注意区别以下两个命令: grep -n [[:space:]]are express grep -n [[:space:]]*are express 保存匹配的字符串:\(…\)? 将捕获的正则表达式匹配的字符串存储在编号为1到9的“寄存器”中。 $ grep –n ‘o\{2\}’ express $ grep –n ‘^\(.\)’ express 匹配行首的第一个字符 $ grep –n ‘^\(.\)\1’ express 如果一行的头两个字符相同,就匹配他们 $ grep –n ‘^\(.\).*\1$’ express 匹配一行中头一个字符跟最后一个字符相同的行。 正则表达式与命令行特殊符号的区别 $ ls –l * ls | grep –n ‘.*’ $ ls z* ls | grep –n ‘^z.*’ $ ls [!z]* sed的使用 非交互式行编辑器 顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端 sed工作原理图 sed的语法 sed [address1[,address2]] [options] {command} [filename] sed-删除功能d d:Delete pattern space. Start next cycle. 观察命令结果:sed -e d express 删除指定行:sed -e 1d express 地址范围 :sed -e 1,10d express 从一行开始每隔一行删一行:sed ‘0~1d’ express 从第二行开始每隔7行删一行:sed‘1~7d’ express sed-删除功能 带规则表达式的地址 删除注释行:sed -e /^#/d /etc/services | more 删除空行:sed -e /^$/d express 删除第一行到空行:sed -e 1,/^$/d express 删除最后
您可能关注的文档
最近下载
- 地铁物业管理培训课件.pptx
- 工程数学(本)形成性考核作业4.doc
- GB T 34520.7-2017 连续碳化硅纤维测试方法 第7部分:高温强度保留率 标准.pdf
- 自编教材审核表(模板).pdf
- 一例慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭患者的个案护理PPT.pptx
- [大庆]黑龙江大庆市民政局所属事业单位选调事业编制工作人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx VIP
- ISO9001 14001 ISO45001检查表审核方法全套.docx VIP
- 增光膜规格说明书.pdf
- 人教版数学四年级第一单元教材解读及集体备课课件.pptx VIP
- 2024 离婚协议书 离婚协议(打印版).docx
文档评论(0)