Shell-sed命令的使用

本文详细介绍了sed流编辑器的工作原理及其基本用法,包括添加、删除、替换等命令。通过实例展示了如何在Linux环境中对文本文件进行编辑,如在特定行后插入文本、删除包含特定词汇的行以及全局替换。文章强调了sed处理文件时并不会直接修改原文件,除非使用重定向。最后,提供了多个综合示例,演示了如何结合多个sed命令完成更复杂的文本操作。
摘要由CSDN通过智能技术生成

sed

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

基本用法

sed [选项参数]  'command'  filename

选项参数说明

选项参数功能
-e直接在指令列模式上进行sed的动作编辑。

常用命令功能描述

命令功能描述
a新增,a的后面可以接字串,在下一行出现
d删除
s查找并替换

案例实操

# 数据准备
[bd@localServer ~]$ touch sed.txt
[bd@localServer ~]$ vim sed.txt
fu xia
zhou men
wo  wo
lai  lai

le  le

### 将“wo shi”这个单词插入到sed.txt第二行下,打印。
[bd@localServer ~]$ sed '2a wo shi' sed.txt 
fu xia
zhou men
wo shi
wo  wo
lai  lai

le  le

#### 源文件没有改变
[bd@localServer ~]$ cat sed.txt 
fu xia
zhou men
wo  wo
lai  lai

le  le

### 删除sed.txt文件所有包含wo的行
[bd@localServer ~]$ sed '/wo/d' sed.txt
fu xia
zhou men
lai  lai

le  le

### 将sed.txt文件中wo替换为ni,g表示global为全局操作,不加的话只处理第一个
[bd@localServer ~]$ sed 's/wo/ni/g' sed.txt 
fu xia
zhou men
ni  ni
lai  lai

le  le

### 将sed.txt文件中的第二行删除并将wo替换为ni
[bd@localServer ~]$ sed -e '2d' -e 's/wo/ni/g' sed.txt 
fu xia
ni  ni
lai  lai

le  le

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值