在这篇文章中,边肖和大家分享了一些在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