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

sed命令

时间:2015-12-26 23:41:36      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:执行文件   编辑器   表达式   源文件   字符串   

      sed是流编辑器,每次从文本读出一行放入pattern space(模式空间)中,如果可以被pattern space内存空间匹配到,sed就会对其执行预定的编辑(替换,删除)然后输出至标准输出,不能被匹配直接标准输出。画一张图有利于理解。非交互式编辑器非交互式就是只能在命令行内完成对文本的操做技术分享


sed用法

技术分享

sed 选项 ‘/pattern/动作’文件路径

sed常用选项

-n不输出模式空间内容到屏幕,被处理的行列出来

-e:进行多项编辑,对输入行应用多条sed命令时用

-f:直接把sed命令写进文件,-f就是执行文件内的sed命令

-r:支持正则表达式

-i:直接编辑源文件


sed常用的命令(编辑)

-d:删除

-a:新增,a的后面接字符串,加的字符串会下一行出现。

-i:插入,i后面接的字符串会出现在此行前出现。

-c:替换,把匹配到的行替换为指定的行。

-w:保存模式空间匹配到的行至指定文件。

-r:读取指定文件内容到当前文件被匹配到的行后面。

!:对没有匹配到的行进行编辑

-s:可以和正则表达式一起用,可以替换



示例:

1、在sed1文件第六行后添加一行,先看看原文件

技术分享

2、被修改后的文件 动作a(在指定行后面加信息)

技术分享



以行为单位进行增删

技术分享

把sed1中4到6行删除  动作d(删除)

技术分享




先cat sed1

技术分享

在sed1第一行加上LPLPLP 动作i(在指定行前面加上指定信息)想在第几行前加就写ni

技术分享



只列出1到3行

技术分享


在第一行后面加上两行 \n用来换行

技术分享



删除搜寻到的字符串,删除sed1中的bb

技术分享

技术分享



多点编辑把1-2行删除,把eeeeee替换为EEEEEE

技术分享

技术分享


动作c和s的的区别 c是全部替换  s是对行进行替换

技术分享




在最后一行加上一行

技术分享


只显示指定行(显示sed1中包含f的行)

技术分享

本文出自 “clown” 博客,请务必保留此出处http://vclownv.blog.51cto.com/10273334/1728652

sed命令

标签:执行文件   编辑器   表达式   源文件   字符串   

原文地址:http://vclownv.blog.51cto.com/10273334/1728652

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