[转]sed 学习笔记

 

 

 

 

 

 

 【转载自】http://bbs.chinaunix.net/viewthread.php?tid=166936

 

一. 替换

1.神奇变换(y 命令的使用)



 


 

测试
将文件中1 换成A
将文件中2 换成B
...
将文件中0 换成J

 


 

注意变换关系是按两个list的位置对应变换,y是一个管局命令,拒绝使用后缀flag/g
list1:1234567890
list2:ABCDEFGHIJ
下面再作一个与前例相反的变换

 

2.替换每行第一个匹配


举例:

 


3.替换每行第n(如果有的话)个匹配



举例:

4.替换每行所有匹配


 
举例:

 

二.行号处理

1.为文件加行号

举例:

2.仅为文件中的正文行加行号

举例:

 

三.字串翻转

举例:

 

 

四.选择性输出

1.打印文档奇数行(隔行输出)

 

2.打印偶数行(隔行输出)

 

3.删除连续重复行(大量使用了pattern space 文件太大时要注意)

  
#使用 $!N 要当心内存溢出

举例:

 

4.合并上下行并以空格相分隔

举例:

 

5.将以/符号结尾的行与下行合并并以空格分隔(拼接断行)

 

举例:

 

6.按关键字拼接行
如果某行以=开始,则合并到上一行并替代=为空格

举例:

 

7.输出匹配行的下一行

举例:

8.显示匹配行的行号并输出匹配行的上行、匹配行、下行


举例:

 

9.删除文档中某标志区域内的关键字匹配行

     删除文档中从being开到end结束的块中包含myword的行

 

 

五.字串解析

1.从字串中解析出两个子串(前2各字符和后9个字符)

 

2.分解日期串

 

 

其它资料:

SED单行脚本快速参考(Unix 流编辑器)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值