Linux使用sed命令替换字符串教程

Linux使用sed命令替换字符串教程

在这篇文章中,边肖和大家分享了一些在Linux下如何使用sed命令替换字符串的知识。有需要的朋友可以借鉴一下。

要替换字符串,我们需要使用以下格式。

$ sed s/替换的目标字符串/替换的字符串/文件名

下面我们把字符串“sample.txt”替换成“appleorangemelon”。

$ sed s/orange/ORANGE/sample.txt

执行结果是

苹果橙

并替换字符串。

此外,如下所示,通过在cat命令后用“|”连接sed命令可以获得相同的结果。

$ cat sample . txt | sed s/APPLE/APPLE/

请注意,sed命令只替换字符串并输出它,但不覆盖实际文件的内容。

如果要保存文本中被替换的内容,请使用重定向“”。

sed命令使用的选项

命令选项

解释

-e

替换为指定的脚本

-f文件

添加指定文件中描述的脚本文件的内容。

-r

使用扩展正则表达式

sed命令的使用

替换所有行

在前面介绍的格式中,即使一行中有匹配多个替换对象字符串的字符串,也只替换第一个匹配的字符串。

因此,要替换所有匹配的字符串,请执行以下操作:

$ sed-e s/APPLE/APPLE/g sample . txt

执行结果是

苹果橙苹果

替换该行的开头和结尾。

$ sed -e s/^apple/APPLE/样本. txt

$ sed-e s/APPLE $/APPLE/ sample . txt

如果要替换多个子字符串,可以指定多个脚本。

$ sed-e s/APPLE/APPLE/-e s/ORANGE/ORANGE/ sample . txt

德林

指定“d”删除指定的行。比如要删除第二行,就是“2d”。

$ sed -e 2d sample.txt

此外,还可以删除多行。下面是删除第1行到第3行。

$ sed -e 1,3d sample2.txt

Linux使用sed命令替换字符串教程