How to use the sed command to replace strings under Linux

不言
Release: 2019-01-23 15:04:51
Original
7187 people have browsed it

sed命令可以根据规定的格式替换指定文件的字符串并输出,本篇文章我们就来介绍关于Linux下sed命令替换字符串的方法。

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

$ sed s/替换的目标字符串/替换后的字符串/ 文件名
Copy after login

在下面我们替换写为“appleorangemelon”的字符串“sample.txt”。

$ sed s/orange/ORANGE/ sample.txt
Copy after login

执行结果为

appleORANGEmelon
Copy after login

替换并输出字符串。

另外,如下所示,在cat命令后用“|”连接sed命令也能得到同样的结果。

$ cat sample.txt | sed s/apple/APPLE/
Copy after login

注意,sed命令仅替换字符串并输出它,但不会重写实际文件的内容

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

sed命令使用的选项

命令选项说明
-e替换为指定的脚本
-f 文件添加指定文件中描述的脚本文件的内容
-r使用扩展正则表达式

sed命令的使用

替换所有行

在先前介绍的格式中,即使在一个行中存在与多个替换对象字符串匹配的字符串,也仅替换第一个匹配的字符串。

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

$ sed -e s/apple/APPLE/g sample.txt
Copy after login

执行结果为

APPLEorangemelonAPPLE
Copy after login

替换行的开头与结尾

$ sed -e "s/^apple/APPLE/" sample.txt
$ sed -e "s/apple\$/APPLE/" sample.txt
Copy after login

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

$ sed -e "s/apple/APPLE/" -e "s/orange/ORANGE/" sample.txt
Copy after login

删除行

指定“d”以删除指定的行。例如,要删除第二行就为“2d”。

$ sed -e '2d' sample.txt
Copy after login

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

$ sed -e '1,3d' sample2.txt
Copy after login

本篇文章到这里就全部结束了,更多精彩内容大家可以关注PHP中文网相关栏目教程!!!

The above is the detailed content of How to use the sed command to replace strings under Linux. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!