Linux下如何使用sed命令替换字符串

2016-02-19 16:22 5 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Linux下如何使用sed命令替换字符串,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Linux教程 】

了解Linux系统命令的相比都知道,sed命令常用于文本文件的处理,今天图老师小编就给大家介绍下如何使用sed命令替换字符串,感兴趣的朋友不妨来了解下吧。

Linux下如何使用sed命令替换字符串

sed替换的基本语法为:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed ‘s/原字符串/替换字符串/’

单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线进行转义,但是单引号‘是没有办法用反斜线转义的,这时候只要把命令中的单引号改为双引号就行了,例如:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed s/原字符串包含‘/替换字符串包含’/ //要处理的字符包含单引号

命令中的三根斜线分隔符可以换成别的符号,这在要替换的内容有较多斜线是较为方便,只需要紧跟s定义即可,例如换成问号?:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed ‘s?原字符串?替换字符串?’ //自定义分隔符为问号

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

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed ‘s/原字符串/替换字符串/’ //替换所有匹配关键字

上箭头^表示行首,美元$符号如果在引号中表示行尾,但是在引号外却表示末行(最后一行),这里犯二了,搜了半天哪个符号表示首行,半天才想起来,首行就是数字1″啊。那么在行首和行尾添加字符串就是把行尾和行首替换,例如:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed ‘s/^/添加的头部&/g’ //在所有行首添加

sed ‘s/$/&添加的尾部/g’ //在所有行末添加

sed ‘2s/原字符串/替换字符串/g’ //替换第2行

sed ‘$s/原字符串/替换字符串/g’ //替换最后一行

sed ‘2,5s/原字符串/替换字符串/g’ //替换2到5行

sed ‘2,$s/原字符串/替换字符串/g’ //替换2到最后一行

替换样式可以多个在同一条命令中执行,用分号;分隔,例如:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed ‘s/^/添加的头部&/g;s/$/&添加的尾部/g’ //同时执行两个替换规则

sed处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数i直接在文件中替换:

代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

sed -i ‘s/原字符串/替换字符串/g’ filename //替换文件中的所有匹配项

上面就是Linux下使用sed命令替换字符串的方法介绍了,sed命令的用法远不止这些,本文只是举个例子给大家简单介绍下sed命令,想要使用sed命令替换字符串的朋友可以做个参考。

来源:https://www.tulaoshi.com/n/20160219/1611855.html

延伸阅读
大家都知道,&操作符的执行速度是相当慢的,特别是处理长字符串时。当必须重复地在同一变量上附加字符时,有一个基于Mid$命令的技巧可以使用。基本思路就是:预留一个足够长的空间存放操作的结果。下面是应用这个技术的一个例子。 假设要建立一个字符串,它要附加从1开始的10000个整数:"1234567...9999 10000"。下面是最简单的实现代码: ...
标签: Web开发
如何使用PHP中的字符串函数PHP中的字符串操作功能是比较多的,重要的有以下这些:    (1)echo,print,printf,sprintf    前两个函数是输出字符串.字符串中如果有变量名则被替换成其值.    后两个函数类似于C的同名函数.    (2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower,   ...
/** * 字符串分割 * * @author * @param str java.lang.String 要分割的字符串 * @param sp java.lang.String 需要被替换的子串 * @return 替换之后的字符串 * @return 分割失败,返回null */ public static String[] Split(String str, String sp) { StringTokenizer st = new StringTokenizer...
  ----------自动替换版---------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" <HTML <HEAD <TITLE New Document </TITLE <SCRIPT LANGUAGE="JavaScript" var staus ; var oRange; var objTimer; var objTimer1; var objTimer2; var sBookMark; <!-- function selectall(objAll,OBJSingle){...
批量替换的具体语法是: 代码如下: UPDATE 表名 SET 指定字段 = replace(指定字段, '要替换的字符串', '想要的字符串') WHERE 条件; 如果你想把 article 表中 ID 小于5000的记录,content 字段中“解决”替换成“解放”,那么语法就是: 代码如下: UPDATE article SET content = replace(content, '解决', '解放') WHERE ID500...

经验教程

60

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部