sed:替换整行内容
要在文本文件中查找并替换指定的一行,可以使用sed
命令。以下是一个基础的示例:
sed -i 's/old-line/new-line/g' filename
这个命令将在filename
文件中查找所有出现的"old-line",并用"new-line"替换它。
解析:
-i
: 该选项告诉sed
在原地(即在输入文件本身)进行编辑。's/old-line/new-line/g'
: 这是sed
的命令部分。s
是替换操作的标志,old-line
是要查找的模式,new-line
是替换后的文本,g
标志表示全局替换(即替换每一行中的所有匹配项)。filename
: 这是你要修改的文件名。
需要注意的是,如果 "old-line" 或 "new-line" 中包含斜杠 /
(或其他特殊字符),你需要对其进行转义,比如 \/
。
此外,上述命令将会替换文件中所有的"old-line",而不只是一行。如果你知道具体的行号,你可以使用如下命令来替换指定行的内容:
sed -i '3s/.*/new-line/' filename
在这个命令中,数字 3
指定了你想要替换的行号。.
匹配任何字符,*
表示任意次数,所以 .*
代表整行。这样整个命令就表示将第三行的所有内容替换为 "new-line"。