Sed教程-培训课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Sed教程-培训课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Sed 教程 培训 课件
- 资源描述:
-
1、Sed主要内容主要内容Sed简介简介元字符集元字符集Sed命令命令Sed高级用法高级用法SedSed简介简介sed是一种在线编辑器,它一次处理一行内容。是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间模式空间”(pattern space),接着用),接着用sed命令处理命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向
2、存储输出。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。反复操作;编写转换程序等。Sed一次一行的一个设计优点,读非常大的文件不一次一行的一个设计优点,读非常大的文件不会出问题,如果全部读取可能会内存溢出或处理速会出问题,如果全部读取可能会内存溢出或处理速度非常慢。度非常慢。元字符集元字符集 锚定行的开始锚定行的开始 如:如:/sed/sed/匹配所有以匹配所有以sedsed开头的行开头的行$锚定行的结束锚定行的结束 如:如:/sed$/sed$/匹配所有以匹配所有以seds
3、ed结尾的行结尾的行.匹配一个非换行符的字符匹配一个非换行符的字符 如:如:/s.ds.d/匹配匹配s s后接一个任意字符,然后是后接一个任意字符,然后是d d*匹配零或多个字符匹配零或多个字符 如如:/:/*sed/sed/匹配所有模板是一个或多个空格后紧跟匹配所有模板是一个或多个空格后紧跟sedsed的行的行 匹配一个指定范围内的字符,如匹配一个指定范围内的字符,如/SsedSsed/匹配匹配sedsed和和SedSed匹配一个不在指定范围内的字符匹配一个不在指定范围内的字符如:如:/A-RT-/A-RT-ZedZed/匹配不包含匹配不包含A-RA-R和和T-ZT-Z的一的一 个字母开头,
4、紧跟个字母开头,紧跟eded的行的行(.)(.)保存匹配的字符,如保存匹配的字符,如s/(love)able/1rss/(love)able/1rs,loveableloveable被替换成被替换成loverslovers&保存搜索字符用来替换其他字符,如保存搜索字符用来替换其他字符,如s/love/s/love/*&*/,lovelove这成这成*lovelove*锚定单词的开始,如锚定单词的开始,如:/love/:/锚定单词的结束,如锚定单词的结束,如/love/love/匹配包含以匹配包含以lovelove结尾的单词的行结尾的单词的行xmxm重复字符重复字符x x,m m次,如:次,如:
5、/05/05/匹配包含匹配包含5 5个个o o的行的行xmxm,重复字符重复字符x,x,至少至少m m次,如:次,如:/o5,/o5,/匹配至少有匹配至少有5 5个个o o的行的行xm,nxm,n重复字符重复字符x x,至少,至少m m次,不多于次,不多于n n次,如:次,如:/o5,10/o5,10/匹配匹配5-105-10个个o o的行的行Sed命令命令sed读取数据读取数据s e d从文件的一个文本行或从标准输入从文件的一个文本行或从标准输入调用调用sed命令有两种形式:命令有两种形式:sed options command file(s)/sed s/test/mytest/sed.t
6、xtsed options-f scriptfile file(s)/sed-f cmd.sed test.txtsed保存输出保存输出重定向w 写文本到一个文件 两种方法是有区别的两种方法是有区别的Sed的常用选项的常用选项-e command,-expression=command 允许多条命令编辑。允许多条命令编辑。-n,-quiet,-silent 取消默认输出。取消默认输出。-f,-filer=script-file 引导引导sed脚本文件名脚本文件名-i 直接修改读取的档案内容,而不是由屏幕输出直接修改读取的档案内容,而不是由屏幕输出 -help display this help
7、 and exit 显示帮助信息并退出显示帮助信息并退出-version output version information and exit 显示显示sed版本信息并退出版本信息并退出Sed基本命令基本命令a在当前行后面加入一行文本。在当前行后面加入一行文本。c用新的文本改变本行的文本。用新的文本改变本行的文本。d从模板块(从模板块(Pattern space)位置删除行。)位置删除行。i在当前行上面插入文本。在当前行上面插入文本。l列表不能打印字符的清单。列表不能打印字符的清单。p打印模板块的行。打印模板块的行。q退出退出Sed。r file从从file中读行。中读行。w file写并追
8、加模板块到写并追加模板块到file末尾。末尾。!表示后面的命令对所有没有被选定的行发生作用。表示后面的命令对所有没有被选定的行发生作用。y表示把一个字符转换为另外的字符表示把一个字符转换为另外的字符正则表达式正则表达式=打印当前行号码。打印当前行号码。#把注释扩展到下一个换行符以前。把注释扩展到下一个换行符以前。s/re/string用用string替换正则表达式替换正则表达式re。Sed高级命令高级命令b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。t label if分支,从最后一行开始,条件一旦满
9、足或者分支,从最后一行开始,条件一旦满足或者T,t命令,命令,将导致分支到带有标号的命令处,或者到脚本的末尾。将导致分支到带有标号的命令处,或者到脚本的末尾。T label 错误分支,从最后一行开始,一旦发生错误或者错误分支,从最后一行开始,一旦发生错误或者T,t命令,命令,将导致分支到带有标号的命令处,或者到脚本的末尾。将导致分支到带有标号的命令处,或者到脚本的末尾。n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。N追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行追加下一个输入行到模板块后面并在二者间嵌入
10、一个新行,改变当前行号码。号码。P打印模板块的第一行。打印模板块的第一行。D删除模板块的第一行。删除模板块的第一行。h拷贝模板块的内容到内存中的缓冲区。拷贝模板块的内容到内存中的缓冲区。H追加模板块的内容到内存中的缓冲区追加模板块的内容到内存中的缓冲区g获得内存缓冲区的内容,并替代当前模板块中的文本。获得内存缓冲区的内容,并替代当前模板块中的文本。G获得内存缓冲区的内容,并追加到当前模板块文本的后面。获得内存缓冲区的内容,并追加到当前模板块文本的后面。X表示互换模板块中的文本和缓冲区中的文本。表示互换模板块中的文本和缓冲区中的文本。W file写并追加模板块的第一行到写并追加模板块的第一行到f
11、ile末尾。末尾。Sed命令命令定位定位sed浏览输入文件时,缺省从第一行开始,两种方式定位浏览输入文件时,缺省从第一行开始,两种方式定位:a.使用行号,可以是一个简单数字,或是一个行号范围。使用行号,可以是一个简单数字,或是一个行号范围。b.使用正则表达式。使用正则表达式。例:例:x#为一行号,如1x,y#表示行号范围从x到y,如2,5表示从第2行到第5行/pattern/#查询包含模式的行。例如/disk/或/a-z/pattern/pattern/#查询包含两个模式的行。例如/disk/disks/pattern/,x#在给定行号上查询包含模式的行。如/ribbon/,3x,/patte
12、rn/#通过行号和模式查询匹配行。3,/vdu/x,y!#查询不包含指定行号x和y的行。1,2!元字符集元字符集锚定行的开始 如:/sed/匹配所有以sed开头的行$锚定行的结束 如:/sed$/匹配所有以sed结尾的行.匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d*匹配零或多个字符 如:/*sed/匹配所有模板一个或多个空格后紧跟sed的行 匹配一个指定范围内的字符,如/Ssed/匹配sed和Sed匹配一个不在指定范围内的字符如:/A-RT-Zed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行(.)保存匹配的字符,如s/(love)able/1rs,love
13、able被替换成lovers&保存搜索字符用来替换其他字符,如s/love/*&*/,love这成*love*锚定单词的开始,如:/锚定单词的结束,如/love/匹配包含以love结尾的单词的行xm重复字符x,m次,如:/05/匹配包含5个o的行xm,重复字符x,至少m次,如:/o5,/匹配至少有5个o的行xm,n 重复字符x,至少m次,不多于n次,如:/o5,10/匹配5-10个o的行Sed命令命令显示显示-psed -n 2p sed.txtsed n 1,3p sed.txtsed n/hello/p sed.txtsed n/1,$/p sed.txthello sed123abcte
14、st11test456xxxxDDDvvvvtest xxxxloveable10AAAAAAAAAAAA123hello sed123abchello sedhello sed123abctest11test456xxxxDDDvvvvtest xxxxloveable10AAAAAAAAAAAASed命令命令打印行号打印行号-=sed n/hello/=sed.txtsed n 1,$=sed.txthello sed123abctest11test456xxxxDDDvvvvtest xxxxloveable10AAAAAAAAAAAA1123456789101112Sed命令命令匹配元
展开阅读全文