shell编程09——sed

本文详细介绍了sed命令在文本流编辑中的应用,包括如何在文件中插入新的行(如18192021到第二行)、删除特定行(如所有包含9的行)以及替换字符(如将9替换为100)。通过实例演示了sed的使用方法和选项参数。

1. 概念

sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

2. 语法

sed [选项参数]  ‘command’  filename

选项参数

选项参数

功能

-e

直接在指令列模式上进行sed的动作编辑。

-i

直接编辑文件

命令功能

命令

功能描述

a

新增,a的后面可以接字串,在下一行出现

d

删除

s

查找并替换 

3. 示例

1. 将"18 19 20 21"插入到第二行

[root@localhost cut_sed_awk_sort]# cat sed.txt 
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# sed '2a 18 19 20 21' sed.txt 
1 2 3 4
5 6 7 8
18 19 20 21
9 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# 

2. 删除文件中所有包含9的行(并不改变原文内容)

[root@localhost cut_sed_awk_sort]# sed '/9/d' sed.txt 
1 2 3 4
5 6 7 8
13 14 15 16
[root@localhost cut_sed_awk_sort]# cat sed.txt 
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# 

3. 将文件中的9替换成100

[root@localhost cut_sed_awk_sort]# sed 's/9/200/g' sed.txt 
1 2 3 4
5 6 7 8
200 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# cat sed.txt 
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# 

4. 将文件中的第二行删除并将9替换成100

[root@localhost cut_sed_awk_sort]# sed -e '2d' -e 's/9/200/g' sed.txt 
1 2 3 4
200 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# cat sed.txt 
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
[root@localhost cut_sed_awk_sort]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值