sed命令可以根据规定的格式替换指定文件的字符串并输出,本篇文章我们就来介绍关于Linux下sed命令替换字符串的方法。
要替换字符串,我们需要使用以下格式。
$ sed s/替换的目标字符串/替换后的字符串/ 文件名
在下面我们替换写为“appleorangemelon”的字符串“sample.txt”。
$ sed s/orange/ORANGE/ sample.txt
执行结果为
appleORANGEmelon
替换并输出字符串。
另外,如下所示,在cat命令后用“|”连接sed命令也能得到同样的结果。
$ cat sample.txt | sed s/apple/APPLE/
注意,sed命令仅替换字符串并输出它,但不会重写实际文件的内容
如果要将替换的内容保存在文本中,请使用重定向“>”。
sed命令使用的选项
命令选项 | 说明 |
-e | 替换为指定的脚本 |
-f 文件 | 添加指定文件中描述的脚本文件的内容 |
-r | 使用扩展正则表达式 |
sed命令的使用
替换所有行
在先前介绍的格式中,即使在一个行中存在与多个替换对象字符串匹配的字符串,也仅替换第一个匹配的字符串。
因此,要替换所有匹配的字符串,请执行以下操作:
$ sed -e s/apple/APPLE/g sample.txt
执行结果为
APPLEorangemelonAPPLE
替换行的开头与结尾
$ sed -e "s/^apple/APPLE/" sample.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
本篇文章到这里就全部结束了,更多精彩内容大家可以关注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!