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

sed 命令使用 (笔记)

时间:2015-04-08 16:46:18      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:sed命令用法详解

linux 三大文本处理工具 grep sed awk

之前有说过grep 今天来看看sed命令

简介

    sed (Stream EDitor)流编辑器,是非交互式的编辑器,它一次处理一行内容。而且此编辑器默认不会对原文件做修改,如果想要修改使用shell重定向保存结果。默认情况下,所有的输出行都会被打印在屏幕上。

    sed 编辑器逐行处理文件(或输入),并将结果发送到屏幕上。处理过程如下:

    首先sed 把当前正在处理的行保存在一个临时的缓冲区中(也称为模式空间pattern space),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。 sed 每处理完一行就将其缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便运行结束。sed 每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。


sed 基本格式

sed [option] "AddressCommand" file


Address

    大义是指定该文件中的哪一行或者被定位到的行,支持正规则表达式,数字。如果没有指定行,则默认为处理所有行。

  1. startlike,endline 例

        1,100 则定位到文本中的第一行到100行

        $ 表示最后一行

        $-1 表示倒数第二行

2. /RegExp/ 中间是正规则表达式 例

        /^root/ 匹配以root开头的行

3. /pattern/,/pattern2/ 匹配从第一次被pattern1匹配到的行,到第一次被pattern2匹配到的行结束这中间的所有行

4. LineNumber 只给一个数字,则精确匹配到该行

5. startline,+N N是数字  表示从startline 行开始向后匹配N行。


Command

这个是对前边所匹配到的行做字处理 ,比如删除,修改,替换等等

d 删除符合条件的行

a \"string" 可不加引号, 在符合条件的行的后面追加新行,内容为string. \n 是换行符

i \"string" 可不加引号, 在符合条件的行的前面追加新行,内容为string. string 的意思是这个地方你输出什么,则为该行后边添加什么。

p 显示符合条件的行,默认情况下会使符合的行数显示两次(这个是因为patter space的原因)


[option]

这个是可选选项,即可用也可以不用这个选项

-n 静默模式,不再默认显示模式空间中的内容。

sed 命令使用 (笔记)

标签:sed命令用法详解

原文地址:http://wind13cloud.blog.51cto.com/2180779/1629995

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