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"。