linux sed命令学习笔记.doc_第1页
linux sed命令学习笔记.doc_第2页
linux sed命令学习笔记.doc_第3页
linux sed命令学习笔记.doc_第4页
linux sed命令学习笔记.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

声明:这些代码只是为了学习和理解sed命令而为之,并不代表问题的唯一解或最佳解,希望各位拍砖参考资料:等一. 替换1.神奇变换(y命令的使用)代码:sed y/ori_letter_list/target_letter_list/ filename代码:cat filename1234567890234567890134567890124567890123测试将文件中1换成A将文件中2换成B.将文件中0换成J代码:sed y/1234567890/ABCDEFGHIJ/ filenameABCDEFGHIJBCDEFGHIJACDEFGHIJABDEFGHIJABC注意变换关系是按两个list的位置对应变换,y是一个管局命令,拒绝使用后缀flag/glist1:1234567890list2:ABCDEFGHIJ下面再作一个与前例相反的变换代码:sed y/0987654321/ABCDEFGHIJ/ filenameJIHGFEDCBAIHGFEDCBAJHGFEDCBAJIGFEDCBAJIH2.替换每行第一个匹配代码:sed s/regexpr/anyword/ filenamesed s/regexpr/anyword/1 filename举例:引用:cat filename1234567890 23456789013456789012 4567890123sed s/5/五/ filename1234五67890 234567890134五6789012 45678901233.替换每行第n(如果有的话)个匹配代码:sed s/regexpr/anyword/$n filenamecat filename111111111111111111222222222222222222333333333333333333444444444444444444举例sed s/4/ 四 /8 filename1111111111111111112222222222222222223333333333333333334444444 四 44444444444.替换每行所有匹配代码:cat filename1234567890 23456789013456789012 4567890123代码:举例:sed s/3/三/g filename12三4567890 2三45678901三456789012 456789012三二.行号处理1.为文件加行号代码:sed = filename|sed N;s/n/:/cat filename111111111111111111222222222222222222333333333333333333444444444444444444举例代码:sed = filename|sed N;s/n/:/1:1111111111111111112:2222222222222222223:3333333333333333334:4444444444444444442.仅为文件中的正文行加行号代码:sed /./= a|sed /./N;s/n/:/举例代码:cat filename111111111111111111222222222222222222333333333333333333444444444444444444sed /./= a|sed /./N;s/n/:/ filename1:1111111111111111113:2222222222222222224:3333333333333333336:444444444444444444三.字串翻转代码:sed /n/!G;s/(.)(.*n)/&21/;s/./举例代码:echo 1234567890|sed /n/!G;s/(.)(.*n)/&21/;s/./0987654321四.选择性输出1.打印文档奇数行(隔行输出)代码:sed n;dsed x;$!N;xsed -n p;n13572.打印偶数行(隔行输出)代码:sed -n n;psed 1d;n;d;24683.删除连续重复行(大量使用了pattern space 文件太大时要注意)代码:sed $!N; /(.*)n1$/!P; D#使用 $!N 要当心内存溢出举例代码:cat file111111111111111111222222222222222222222222222222222222333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444sed $!N; /(.*)n1$/!P; D filename1111111111111111112222222222222222223333333333333333334444444444444444444.合并上下行并以空格相分隔代码:sed $!N;s/n/ /举例代码:cat file12345678900987654321执行命令后1234567890 09876543215.将以符号结尾的行与下行合并并以空格分隔(拼接断行)代码:sed -e :a -e /$/N; s/n/ /; ta举例代码:cat filename1 1111111111111111112 2222222222222222223 3333333333333333334 444444444444444444sed -e :a -e /$/N; s/n/ /; ta filename1 111111111111111111 2 2222222222222222223 333333333333333333 4 4444444444444444446.按关键字拼接行如果某行以=开始,则合并到上一行并替代为空格代码:sed -e :a -e $!N;s/n=/ /;ta -e P;D举例代码:cat file111111111111111111222222222222222222=333333333333333333444444444444444444sed -e :a -e $!N;s/n=/ /;ta -e P;D filename111111111111111111222222222222222222 3333333333333333334444444444444444447.输出匹配行的下一行代码:sed -n /regexpr/n;p; filename举例代码:cat filename1 1111111111111111112 2222222222222222223 3333333333333333334 444444444444444444sed -n /3/n;p; filename4 4444444444444444448.显示匹配行的行号并输出匹配行的上行、匹配行、下行sed -n -e /regexpr/=;x;1!p;g;$!N;p;D; -e h举例代码:cat filename1 1111111111111111112 2222222222222222223 3333333333333333334 444444444444444444sed -n -e /3/=;x;1!p;g;$!N;p;D; -e h filename3 #匹配行的行号2 222222222222222222 #上一行3 333333333333333333 #匹配行4 444444444444444444 #下一行9.删除文档中某标志区域内的关键字匹配行删除文档中从being开到end结束的块中包含myword的行代码:sed /begin/,/end/myword/d; filename引用:cat filenamemywordbeginmywordNumber!mywordNumber!mywordNumber!mywordNumber!endmywordNumber!测试引用:mywordbeginNumber!Number!Number!Number!endmywordNumber!五.字串解析1.从字串中解析出两个子串(前2各字符和后9个字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论