码迷,mamicode.com
首页 > 其他好文 > 详细

sed进阶

时间:2019-01-23 23:25:14      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:脚本   编辑器   一个   技术分享   ade   移动   one   大写   display   

下面这些命令未必经常会用到,但当需要时,知道这些肯定是件好事。

一、多行命令

sed命令通常是对一行数据进行处理,然后下一行重复处理。

sed编辑器包含了三个可用来处理多行文本的特殊命令

  • N:将数据流中的下一行加进来创建一个多行组来处理
  • D:删除多行组中的一行
  • P:打印多行组中的一行

1.1 next命令

两种删除匹配的下一行的办法:

技术分享图片
cat data1.txt 
This is the header line.

This is a data line.

This is the last line.

sed /^$/d data1.txt 
This is the header line.
This is a data line.
This is the last line.

sed /header/{n ; d} data1.txt 
This is the header line.
This is a data line.

This is the last line.
空行处理

 

1.2 合并文本行

用大写N,可以一次性读取两行。区别与n是移动到下一行。

技术分享图片
$ sed /first/{ N ; s/\n/ / } data2.txt 
This is the header line.
This is the first data line. This is the second data line.
This is the last line.

$ cat data2.txt 
This is the header line.
This is the first data line.
This is the second data line.
This is the last line.

$ cat data3.txt 
On Tuesday, the Linux System
Administrators group meeting will be held.
All System Administrators should attend.
Thank you for your attendance.

$ sed N ; s/System.Administrator/Desktop User/ data3.txt
On Tuesday, the Linux Desktop Users group meeting will be held.
All Desktop Users should attend.
Thank you for your attendance.
N使用例子

在N后面最好匹配多行命令,而单行命令则可以放在N前面,如:

技术分享图片
$ sed N
> s/System\nAdministrator/Desktop\nUser/
> s/System Administrator/Desktop User/
>  data4.txt
On Tuesday, the Linux Desktop
Users group meeting will be held.
All System Administrators should attend.

$ cat data4.txt 
On Tuesday, the Linux System
Administrators group meeting will be held.
All System Administrators should attend.

$ sed > s/System Administrator/Desktop User/
> N
> s/System\nAdministrator/Desktop\nUser/
>  data4.txt
On Tuesday, the Linux Desktop
Users group meeting will be held.
All Desktop Users should attend.
前后写的例子

 

二、保持空间

 

三、排除命令

 

四、改变流

 

五、模式替代

 

六、在脚本中使用sed

 

七、创建sed实用工具

sed进阶

标签:脚本   编辑器   一个   技术分享   ade   移动   one   大写   display   

原文地址:https://www.cnblogs.com/ch122633/p/10311935.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!