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