sed学习笔记.docx
上传人:sy****28 上传时间:2024-09-14 格式:DOCX 页数:9 大小:34KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

sed学习笔记.docx

sed学习笔记.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Sed学习笔记作者:JimsofHYPERLINK"http://www.ringkee.com/"\t"_top"肥肥世家<HYPERLINK"mailto:jims.yang@gmail.com"jims.yang@gmail.com>Copyright©2004,2005,本文遵从GNU的自由文档许可证(FreeDocumentLicense)的条款,欢迎转载、修改、散布。发布时间:2004年09月20日最近更新:2005年12月22日,增加小技巧章节。TableofContentsHYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2874786"1.Sed简介HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2875182"2.定址HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2811706"3.Sed命令HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2810348"4.选项HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2810450"5.元字符集HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2861508"6.实例HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2808415"7.脚本HYPERLINK"http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm"\l"id2808439"8.小技巧1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed3.02。2.定址可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定。3.Sed命令调用sed命令有两种形式:sed[options]'command'file(s)sed[options]-fscriptfilefile(s)a\在当前行后面加入一行文本。blable分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。c\用新的文本改变本行的文本。d从模板块(Patternspace)位置删除行。D删除模板块的第一行。i\在当前行上面插入文本。h拷贝模板块的内容到内存中的缓冲区。H追加模板块的内容到内存中的缓冲区g获得内存缓冲区的内容,并替代当前模板块中的文本。G获得内存缓冲区的内容,并追加到当前模板块文本的后面。l列表不能打印字符的清单。n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。N追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。p打印模板块的行。P(大写)打印模板块的第一行。q退出Sed。rfile从file中读行。tlabelif分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。Tlabel错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。wfile写并追加模板块到file末尾。Wfile写并追加模板块的第一行到file末尾。!表示后面的命令对所有没有被选定的行发生作用。s/re/string用string替换正则表达式re。=打印当前行号码。#把注释扩展到下一个换行符以前。以下的是替换标记g表示行内全面替换。p表示打印行。w表示把行写入一个文件。x表示互换模板块中的文本和缓冲区中的文本。y表示把一个字符翻译为另外的字符(但是不用于正则表达式)