Linux sed替换(转载)

news/2025/2/26 19:53:39

1. sed替换的基本语法为:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sed 's/原字符串/替换字符串/'</pre>

单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义。

2. 单引号” ‘ ’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 要处理的字符包含单引号
sed "s/原字符串包含'/替换字符串包含'/" </pre>

3. 命令中的三根斜线分隔符可以换成别的符号,有时候替换目录字符串的时候有较多斜线,这个时候换成其它的分割符是较为方便,只需要紧跟s定义即可。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 将分隔符换成问号”?”:
sed 's?原字符串?替换字符串?'</pre>

4. 可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 替换所有匹配关键字
sed 's/原字符串/替换字符串/g'</pre>

5. 一些特殊字符的使用

”^”表示行首

”$”符号如果在引号中表示行尾,但是在引号外却表示末行(最后一行)

[
img_51e409b11aa51c150090697429a953ed.gif
复制代码

](javascript:void(0); "复制代码")

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 注意这里的 " & " 符号,如果没有 “&”,就会直接将匹配到的字符串替换掉
sed 's/^/添加的头部&/g'      #在所有行首添加
sed 's/$/&添加的尾部/g'      #在所有行末添加
sed '2s/原字符串/替换字符串/g'  #替换第2行
sed '$s/原字符串/替换字符串/g' #替换最后一行
sed '2,5s/原字符串/替换字符串/g' #替换2到5行
sed '2,$s/原字符串/替换字符串/g' #替换2到最后一行</pre>

[
img_51e409b11aa51c150090697429a953ed.gif
复制代码

](javascript:void(0); "复制代码")

6.批量替换字符串

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sed -i "s/查找字段/替换字段/g" grep 查找字段 -rl 路径
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir</pre>

7. sed处理过的输出是直接输出到屏幕上的,使用参数”i”直接在文件中替换。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 替换文件中的所有匹配项
sed -i 's/原字符串/替换字符串/g' filename</pre>

8. 多个替换可以在同一条命令中执行,用分号”;”分隔,其格式为:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 同时执行两个替换规则
sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' </pre>


http://www.niftyadmin.cn/n/1998669.html

相关文章

windows系统能将linux的系统盘压缩卷吗,windows7压缩卷怎么使用_win7磁盘压缩卷应该怎么使用...

相信许多用户还在使用win7系统&#xff0c;虽然使用win7系统很久了&#xff0c;不过有些功能还是不会使用。有些用户的磁盘可能会出现快满了的情况&#xff0c;这时我们就可以使用磁盘压缩卷&#xff0c;不过有些用户不懂得怎么使用&#xff0c;下面我们就一起来看看windows7压…

类继承中构造函数和析构函数的调用

类继承中构造函数和析构函数的调用 现在&#xff0c;有三个类&#xff0c;类的定义如下 class CA{public: CA(){cout<<"CA constructor"<<endl;} ~CA(){cout<<"CA desstructor"<<endl;} }; class CB:public CA{public: CB…

对Python这门课程的理解。

这门课程是现在热门&#xff0c;对之后的就业和利用的帮助还是很大的。 希望能学完整本书并且能学以致用&#xff0c;而不是单单只获得理论知识。 学完之后能用于数据库、大数据处理、图形编程等等转载于:https://www.cnblogs.com/feng-zai/p/8604256.html

Linux和Windows配置文件,linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理...

目录一、linux和windows互传文件二、用户配置文件和密码配置文件三、用户组管理四、用户管理一、linux和windows互传文件前提是要在xshell或secureCRT(putty不支持)中执行yum install -y lrzsz命令安装一个lrzsz包&#xff0c;安装完成后执行sz filename然后选择windows接收文件…

javascript实现保留两位小数的多种方法

第一种方法&#xff1a;javascript实现保留两位小数一位自动补零代码实例:第一种方法介绍一下如何实现对数字保留两位小数效果&#xff0c;如果数字的原本小数位数不到两位&#xff0c;那么缺少的就自动补零&#xff0c;这个也是为了统一的效果&#xff0c;先看代码实例: ?123…

C#实现光盘做启动盘

一 &#xff1a;编程思想 1、创建启动盘 插入要创建的启动盘&#xff0c;程序自动检测光驱中光盘&#xff0c;利用WMI&#xff08;Windows管理架构&#xff1a;Windows Management Instrumentation&#xff09;读取该光盘的序列号&#xff08;具有唯一性&#xff09;&#xff0…

VC++编译环境详解

VC编译环境详解 大家可能一直在用VC开发软件&#xff0c;但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下&#xff0c;我们只停留在“使用”它&#xff0c;而不会想去“了解”它。因为它只是一个工具&#xff0c;我们宁可把更多的精力放在C语言和软件设计上。…

linux中的eclipse点击不反应,修复Ubuntu 9.10里Eclipse部分按钮点击无效问题

我一直对Ubuntu官方仓库里的Eclipse有偏见&#xff0c;就是版本太旧&#xff0c;所以我就直接到Eclipse的官方网站下载最新的用&#xff0c;结果在Ubuntu 9.10里又出问题了。症状就是部分点击按钮没反应&#xff0c;尤其是“Finish“按钮&#xff0c;刚才启动弹出Eclipse的用户…