作家
登录

一篇文章学会shell工具篇之sed

作者: 来源: 2017-06-27 15:49:58 阅读 我要评论

  • sed对象履行道理;
  • 有关sed的参数及action的常见操作办法;
  • 定址;
  • 模式空间和保持空间;
  • 应用标签

1.起首先来懂得一下什么是sed?

sed叫做流编辑器,在shell脚本和Makefile中作为过滤器应用异常广泛,也就是把前一个法度榜样的输出惹人sed的输入,经由一系列编辑敕令转换成为另一种格局输出。下面我们经由过程一张道理图来懂得一下它的工作模式:

编辑敕令的格局为,sed /pattern/action

经由sed处理后文件内容并没有改变,除⾮应用重定向存储输出。sed重要用来主动编辑一个或多个文件;简化对文件的反复操作;sed默认按照Basic 规范根本匹配!也就是说类似于( ) { } | 等特别字符需转义,不然就不辨认,或者是用扩大模式也可以。

2. 下面重点介绍一下有关sed的参数及action的操作办法

(1)-n参数,p敕令的action

(2) d敕令的action

(3)/pattern/s/pattern1/pattern2/:查找相符pattern的行,将该行第一个匹配pattern1的字符串调换为pattern2

/pattern/s/pattern1/pattern2/g:查找相符pattern的行,将该行所有匹配pattern1的字符串调换为pattern2

这个操作不知道大年夜家会不会联想到vim编辑器中的底行模式搜刮,它们是类似的。

下面总结一下sed中参数的选择及履行操作:

[plain] view plain copy

<strong>参数选择:

-n:一般sed敕令会把所稀有据都输出到屏幕,如不雅参加-n选项的话,则只会把经由sed敕令处理的行输出到屏幕。

-e:许可对输入数据应用多条sed敕令编辑。

-i:将修改结不雅直接写入到攫取数据的文件,而不是由屏幕输出。(1.修改了文件; 2.由cat可查看)

-f: 指定sed脚本的文件名。

action:

a:追加,在当前行后添加一行或多行。

c:行调换,用c后面的字符串调换原数据行。

i:插入,在当前行前插入一行或多行。

p:打印,输出指定的行。

s:字符串调换,用一个字符串调换别的一个字符串。格局为”行范围s/旧字符串/新字符串/g”(如不雅不加g的话,则表示只调换每行第一个匹配的串)。

</strong>

以膳绫腔有演习到的,有兴趣的可以去测验测验测验测验!

3.再来介绍一下sed中的定址

定址用于决定对文件中哪些行进行行编辑,地址的情势可所以数字、正则表达式、或二者的结合。如不雅没有指定地址,sed将处理输入文件的所有行。下面举一些例子:

  

4.模式空间和保持空间

<span style="color:#000000;"><strong>敕令:

sed '/start/ ,/end/d' file #删除包含’start’行和’end’行之间的行

sed '/start/, 10d' file #删除包含’start’ 的行到第十行的内容

(1)保持空间:用来存储数据,相当于一个仓库,它不克不及对数据进行处理 ;

(2)模式空间:专门以行动单位对数据进行处理。

一般情况下,如不雅不显示的应用一些选项的话,是不会用到保持空间的。

[plain] view plain copy

g:将保持空间的内容拷贝到模式空间中,会将模式空间本来的值覆盖掉落。

G:将保持空间的内容追加到模式空间中。

h:将模式空间的值拷贝到保持空间,会将保持空间本来的值覆盖掉落。

H:将模式空间的值追加到保持空间中。

d:删除模式空间的所有行,并读下一行到模式空间。

D:删除模式空间的第一行,不读下一行到模式空间。

n:输出模式空间的行,攫取下一行调换当前模式空间的行,接下落行下一条处理敕令而不是第一条敕令。

N:读入下一行,追加到模式空间行后面,此时模式空间中有两行。

x:交换模式空间和保持空间的内容。

</strong></span>

例1:给每行后面添加一行空行

例3.追加匹配行到文件末尾


  推荐阅读

  城市数据体系

城市数据体系是指按照必定的标准对城市数据进行处理,以实现数据在城市行业部分间互联互通互操作、实现规范化的城市数据运行的数据治理机制。 新型聪明城市数据体系建立了与新型聪明城>>>详细阅读


本文标题:一篇文章学会shell工具篇之sed

地址:http://www.17bianji.com/lsqh/35934.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)