Sed 常用基本命令

Sed 常用基本命令

目录

Sed 常用基本命令

一、sed 简介

基本用法

读取(n)

追加(N)

追加(a)

插入(i)

更改(c)

转换(y)

         打印(p)

删除(d)

h、H、g、G


一、sed 简介

1、sed 是什么 
  sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,可以将数据行进行替换、删除、新增、选取等特定工作,简化对文件的反复操作,编写转换程序等 
2、sed 工作原理 
  sed 会一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,成为”模式空间”,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

 

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

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

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

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

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

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

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

d:删除模式空间中的行

D:删除多行模式空间中的所有行

p:会打印与替换命令中指定的模式匹配的行。此标记通常与 -n 选项一起使用

P:打印多行组中的一行

y:表示字符替换,可以替换多个字符,只能替换字符不能替换字符串,且不支持正则表达式

c:取代,c的后面可以接字串,这些字串可以取代 n1,n2 之间的行

a:新增,a的后面可以接子串,在下一行出现,前面接数字即新增在那一行的之后

i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)

基本用法

读取(n)

 
[root@localhost ~]# sed -n '/a/n;p' wrq # -n取消自动打印模式空间

1

b

c

d

追加(N)

 
[root@localhost ~]# sed -n 'N;p' wrq

a

b

c

d

追加(a)

 
[root@localhost ~]# sed '4ae' wrq

a

b

c

d

e

插入(i)

 
[root@localhost ~]# sed '4iz' wrq

a

b

c

z

d

更改(c)

 
[root@localhost ~]# sed '2cbb' wrq

a

bb

c

d

转换(y)

 
[root@localhost ~]# sed 'y/a/A/' wrq

A

b

c

d

打印(p)

 
[root@localhost ~]# sed 'p' wrq

a

a

b

b

c

c

d

d

[root@localhost ~]# sed -n '3p' wrq

c

删除(d)

 
[root@localhost ~]# sed '2d' wrq

a

c

d

[root@localhost ~]# sed '/b/d' wrq #将匹配到的参数删除

a

c

d

h、H、g、G

 
[root@localhost ~]# sed '/a/{h};/d/{G}' wrq #将a复制到保持空间,匹配到d时将保持空间的内容追加到模式空间

a

b

c

d

a

[root@localhost ~]# sed '/a/{H};/d/{G}' wrq //将a追加到保持空间,匹配到d时将保持空间的内容追加到模式空间

a

b

c

d


a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值