linux学习之grep和sed的简单用法.ppt
《linux学习之grep和sed的简单用法.ppt》由会员分享,可在线阅读,更多相关《linux学习之grep和sed的简单用法.ppt(50页珍藏版)》请在三一办公上搜索。
1、正则表达式,正则表达式,很多不同的unix命令都采用一种便捷一致的方法来说明匹配模式,这种方法就是正则表达式,先学习一个命令:grep,grep-acinv 搜索字符串 filename-c:计算找到搜索字符串 的次数。-i:忽略大小写的不同,所有大小写视为相同-n:输出行号-v:反向选择-l只给出包含给定模式的文件列表,而不给出文件中的匹配行,搜索特定字符串,$grep n the express$grep vn the express$grep in the express$grep-l the*.c 在所有源文件中查找the,列出包含the 的文件名,的使用,$grep n taest
2、express$grep n oo express$grep n goo express$grep n a-zoo 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 ex
3、press$grep n 0-90-9*express,$grep n o2 express$grep n go2,5g express$grep n go2,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,字符类 描述,注意区别以下两个命令:gre
4、p-n:space:are expressgrep-n:space:*are express,保存匹配的字符串:(),将捕获的正则表达式匹配的字符串存储在编号为1到9的“寄存器”中。$grep n o2 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的使用,非交互式行编辑器顺序逐行将
5、文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端,sed工作原理图,sed删除功能d,d:Delete pattern space.Start next cycle.观察命令结果:sed-e d express 删除指定行:sed-e 1d express地址范围:sed-e 1,10d express从一行开始每隔一行删一行:sed 01d express从第二行开始每隔7行删一行:sed17d express,sed删除功能,带规则表达式的地址删除注释行:sed-e/#/d/etc/services|more删除空行:sed-e
6、/$/d express 删除第一行到空行:sed-e 1,/$/d express 删除最后一行:sed-e$d express 删除包含apple的行到包含Her的行:sed-e/apple/,/Her/d express,sed打印功能,p:打印命令注意观测下面两个命令的区别:sed-n 1p expresssed 1p express,练习题,打印tot文件中从包含 BEGIN 的行开始,并且以包含 END 的行结束的文本块:思考:1 如果文件中没有“BEGIN”会怎样?2 如果文件中没有“END”会怎样?,练习题,只打印 C 源文件中的 main()函数,练习题,删除tot文件中从B
7、EGIN开到END结束的块中包含Name的行sed/BEGIN/,/END/Name/d;tot,sed的语法,sed address1,address2 options command filename,sed功能:替换,s/old value/new value/实例:$echo my name is zsh|sed s/zsh/shz/,多次修改,1 使用 e 选项实例:$echo my name is zsh|sed-e s/is/are/-e s/zsh/shz/$,多次修改,2 用分号来分隔命令实例:$echo my name is zsh|sed s/is/are/;s/zsh/
8、shz/注意分号必须是紧跟斜线之后的下一个字符,全局替换,gsed默认处理每一行中出现的第一个选定序列,如果要处理出现的每一个项目,使用g实例:$echo my name is zsh zsh|sed s/zsh/shz/g,替换每行第N个匹配,$echo my name is zsh zsh|sed s/zsh/shz/1$echo my name is zsh zsh|sed s/zsh/shz/2,sed替换功能案例,cat myfile.htmlThis is what I meant.删除HTML标记,也就是要得到:This is what I meant.,sed替换功能案例,用s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 学习 grep sed 简单 用法
链接地址:https://www.31ppt.com/p-6511220.html