文件编辑之神器Sed

1.png

2.png

pattern space   //  文本中每行内容都会进入到pattern space中, 如果匹配到了,就会进入到右分支, 如果没有匹配到,则进入左分支。


hold space  //  就是已经被模式匹配到, 并且编辑后保存的内容就是hold space 中.

默认情况下,当没有被匹配之后,没有匹配到内容也会被输出到屏幕之上, 一旦被模式匹配上, 就分为两种操作, 一种是标准输出, 另外一种则是编辑。

 

sed 用法:  sed [option]… script inputfile

选项[option]:

-n: 不输出模式空间的内容(屏蔽自动输出

        -e: 多点编辑

-f: 文件,文件中放地址命令

-r: 支持扩展的正则表达式

-i: 在文件中直接编辑

 

   script == 地址命令  

地址和命令之间没有任何符号。

   

地址定界:

(1)不给地址,直接操作, 对全文操作

(2)  单地址

1>. #

2>. /pattern/  被此处模式匹配到的每一行

3>.$ 表示最后一行

 

(3) 地址范围

1>. #,#   两个指定行中的所有行,包括两个指定行

2>.#,+#   +#  同上

3>./part1/,/part2/   两次匹配行之间的所有行,包括匹配到的行

4>.#,/part/    指定行到匹配的行

 

(4)步进

1~2   所有的奇数行

2~2  所有的偶数行

 

基础编辑指令:

(1). d  删除匹配到的行

(2). p  显示匹配到的行  一般要与-n一起用,否则被匹配到行会显示两次

(3). c   替换匹配的字符串或者行

(4). a   在匹配到行尾追加内容

(5) i   在匹配到行首添加内容

(6) w /path/to/file   sed匹配编辑后的内容保存到另外一份文件中

(7) r /path/to/file    将指定文件的内容追加到匹配到行之后

(8) =  打印行号

(9)  !  模式空间中匹配行取反处理

 

替换操作删除或者编辑行中部分内容的时候,要使用替换操作

s/匹配到到内容/替换的内容/替换标记

替换标记:

g: 全局替换(整行都替换)  默认只替换第一个匹配到的内容

p: 显示替换成功的行

w:  将替换成功的行指定到模文件中 w /path/to/file

 

高级编辑指令:

高级编辑指令其实就是将模式空间和保持空间中的内容来回互调,实现一些高大上的指令效果。

选项:

3.png

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

(0)
458813466458813466
上一篇 2016-08-15 09:24
下一篇 2016-08-15 09:25

相关推荐

  • Centos 6 –grub legacy及grub修复

    一、CentOS 6 grub legacy:     1.启动流程:             POST –> Boot Sequence(BIOS) –> Boo…

    Linux干货 2016-09-21
  • 第六次上课作业

    1、三种权限rwx对文件和目录的不同意义 对文件 r:read  可读取此文件的实际内容,如读取文本文件的文字内容等 w: write  可以编辑,新增或修改该文件的内容 x:execute  该文件具有可以被系统执行的权限==>>针对二进制文件或脚本 X:针对目录会加上x权限…

    Linux干货 2016-08-04
  • N26-第一周作业

    1、描述计算机的组成及其功能;  计算机组成部分分为硬件及软件。  硬件:  计算机硬件主要有五大部分组成:运算器、控制器、存储器、输入设备、输出设备;  1)运算器、控制器,统称为处理器,也就是CPU:    主要功能是对各种数据进行运算,包括加、减、乘、除的算术运算,还包括进行逻辑判断的能力,如…

    Linux干货 2016-12-31
  • LVS的工作原理

    LB Load Balancing:解决方案 硬件: F5 BIG-IP 思杰 Citrix Netscaler A10 A10 Array  Redware 软件:lvs  linux Virtual Server 作者章文嵩博士 ipvs相当于netfilter,工作在内核中,将用户转发    框架,需要依赖以规则…

    Linux干货 2016-12-07
  • Linux用户和组管理

    Linux用户和组管理 Username / UID 管理员:root,0 普通用户 : 1–65535 系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1–499(CentOS 6.X) 1–999 (CentOS 7.X) 登录用户:平时专门做系统管理的用户 500+ (CentOS 6.X) 1000+ (CeentOS 7.X)…

    Linux干货 2017-04-01
  • Linux文件层级结构标准(FHS)

    Linux文件层级结构标准(FHS) 设计FHS(Filesystem Hierarchy Standard)的目的主要是为了给Unix-like系统的管理员提供一个管理系统以及目录结构的一个参考。 由于利用Linux源码开发产品和发行版的企业或组织众多,如果每个组织都按照自己的喜好来组织系统中的文件结构,网络上必然出现各种各样的文件结构。这些产品的用户就不…

    2016-12-05