Linux之Shell编程(15)--sed关键字详解演示

Posted 菠萝印象威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之Shell编程(15)--sed关键字详解演示相关的知识,希望对你有一定的参考价值。

前面已经演示了sed -n以及sed -e的基本用法
回顾上一篇的sed用法: sed

今天继续讲解其他的一些sed用法

-i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出动作。简而言之,就是直接修改源文件,一般用于修改配置文件中的参数。

实例演示
1.替换文件中的内容
sed -i ‘s/原字符串/新字符串/’ file

先来看一下第一个例子
在这里插入图片描述
逐步解析:
sed -i表示需要对源文件进行修改
s 表示替换脚本命令
/Will 表示源文件中的字符串
/Jam 表示需要替换的字符串
file.txt 表示目标文件
运行结果:
在这里插入图片描述
可以看到:直接修改了源文件内容。
再看第二个例子
在这里插入图片描述
在原来的基础上多了g,表示替换所有需要替换的内容。
在这里插入图片描述
运行结果:
在这里插入图片描述
如果不加g
在这里插入图片描述
结果:
在这里插入图片描述
发现只会修改第一个字符

2.删除特定字符串
sed -i ‘/字符串/d’ file
在这里插入图片描述

源文件内容:
在这里插入图片描述
分别单独执行其中一条
第一条结果:
在这里插入图片描述
第二条结果:
在这里插入图片描述
第三条结果:
在这里插入图片描述
第四条结果:
在这里插入图片描述
发现其中三条都会删除,但是超出相同字符串时,就无法删除。

3.特定字符串的行前插入新行字符
sed -i ‘/特定字符串/i 新行字符串’ file

和上面类似的是,未超出特定字符串时可以在指定字符前加入新的一行字符。
在这里插入图片描述
结果:
在这里插入图片描述
4.特定字符串的行后插入新行字符
sed -i ‘/特定字符串/a 新行字符串’ file

在这里插入图片描述
结果:
在这里插入图片描述
5.去掉行首带特定字符的特定字符
sed -i ‘s/^特定字符//’ file
在这里插入图片描述
结果:
去掉之前:
在这里插入图片描述
去掉之后:
在这里插入图片描述
6.替换某行第几次出现的某字符串
源文件中的内容如下:
需求:替换第三行的第二个2为x
在这里插入图片描述
在这里插入图片描述
结果:
在这里插入图片描述

注意:这里不加i会直接输出结果到屏幕,不会改变源文件内容。
在这里插入图片描述
在这里插入图片描述

以上是关于Linux之Shell编程(15)--sed关键字详解演示的主要内容,如果未能解决你的问题,请参考以下文章

Linux之Shell编程(14)--sed关键字详解演示

Linux之Shell编程(14)--sed关键字详解演示

Linux之Shell编程(16)--sed关键字详解演示

Linux之Shell编程(16)--sed关键字详解演示

linux12shell编程 --> 三剑客之sed命令

Shell编程之正则表达式(sed)