Linux三剑客之sed命令

一.sed命令概述

Stream EDitor ,行编辑器

sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等

二.sed工具的用法:

sed [option]… ‘script’ inputfile…

 

常用选项:

-n 不输出模式空间内容到屏幕,即不自动打印

-e 多点编辑

-f /PATH/SCRIPT_FILE 从指定文件中读取编辑脚本

-r 支持使用扩展正则表达式

-i 原处编辑(慎用)

                                              blob.png

blob.png

script:

地址命令’

地址定界:

1) 不给地址:对全文进行处理

2) 单地址:#:指定的行

/pattern/:被此处模式所能够匹配到的每一行

blob.png

3) 地址范围

#,#

#,+#

blob.png

/pat1/,/pat2/

 

#,/pat1/

4)~:步进

1~2奇数行

2~2偶数行

blob.png

 

 

编辑命令:

d:删除模式空间匹配到的行

blob.png

blob.png

 

 

p:显示模式空间中的内容

blob.png

blob.png

a \text :在行后面追加文本;支持使用\n实现多行追加

blob.png

I \text :在行前面插入文本;支持使用\n实现多行插入

blob.png

c \text :替换行为单行或多行的文本

blob.png

w /path/somefile :保存模式匹配的行至指定文件

blob.png

 

r /path/somefile :读取指定文件的文本至模式空间中匹配到的行后

blob.png

=:为模式空间中的行打印行号

blob.png

!:模式空间中匹配行取反处理

blob.png

 

sed工具

s///:查找替换,支持使用其他分隔符,s@@@,s###

s/string1/string2

blob.png

替换标记:

g:行内全局替换

blob.png

p:显示替换成功的行

blob.png

w /PATH/TO/SOMEFILE: 将替换成功的行保存至文件中

blob.png

三.sed 高级编辑工具

h:把模式空间中的内容覆盖至保持空间中

 

H:把模式空间中的内容追加至保持空间中

g:从保持空间取出数据覆盖至模式空间

                                              blob.png

G:从保持空间取出内容追加至模式空间

blob.png

blob.png

x:把模式空间中的内容与保持空间中的内容进行互换

n:读取匹配到的行的下一行覆盖至模式空间

blob.png

blob.png

N:读取匹配到的行的下一行追加至模式空间

blob.png

d:删除模式空间中的行

blob.png

D:删除当前模式空间开端至\你的内容(不再传至标准输出),放弃之后的命令,但是对剩余模式空间重新执行sed

 

 

原创文章,作者:Kartik,如若转载,请注明出处:http://www.178linux.com/33612

(0)
KartikKartik
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 第二周作业

    第二周博客作业 1. Linux上常用的文件管理命令及使用 (1) CP命令:复制文件或文件夹语法格式        cp [OPTION]… [-T] SOURCE DEST     …

    Linux干货 2016-12-16
  • CentOS系统启动流程(上)

    CentOS系统启动流程(上)   作为系统运维人员,详细的了解操作系统的启动流程,对于我们日常排除故障大有益处,遇到相关的问题处理,能快速定位,迅速锁定关键点。 下面详细介绍一下,CentOS系统的启动过程,以供各位参考。由于linux各个发行版使用的启动方法略有不同,比如CentOS5使用的是initd,CentOS6使用的是较为接近的Upst…

    Linux干货 2016-06-09
  • sed用户小结

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本  …

    Linux干货 2016-08-12
  • LAMP快速部署及LAMP组合深入讲解-2

      lamp SQL 数据管理模型:层次模型、网状模型、关系模型数据分类:结构化数据、半结构化数据、非结构化数据 关系模型 数据库:一个方案、一个项目 二维关系: 表:row, column 索引:index 视图:view SQL接口:Structured Query Language;类似于OS的shell接口;也提供编程功能; ANSI: S…

    2017-06-04
  • RAID级别及各个级别特性

    1、什么RAID      RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。 2、RAID的级别及各个级别的特性:     (1)RAID-0:无差错控制的条带化:   &nbs…

    Linux干货 2016-04-12
  • 搜索引擎的检索模型-查询与文档的相关度计算

    1. 检索模型概述       搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网页链接情况。这里我们主要总结网页内容和用户查询相关的内容。     &nbsp…

    2015-12-10