sed命令在文件中替换、插入

1.替换

sed -i '.bak' 's/oldtxt/newtxt/' filename

* oldtxt  原文本
* newtxt 新文本

2.插入

sed -i ‘.bak’ '28i\'$'\ninsert_text\n' filename

* 28  插入行
* InsertTxt 插入的文本

如果行号和插入文本都是变量,需要下面这种方式来操作:

sed -i '' ''"${line_num}"'i\
    '"${insert_text}"'\
    ' filename

注意事项:

sed -i在linux和mac中实现方式不同,会出现linux中执行通过的脚本在mac中不生效。

在mac中,sed 命令直接操作文件的时候,必须指定备份的格式,而在 linux 上,没有这个要求。

sed -i '' 's/hello/world/g' hello.php

-i之后加上一对引号指定备份格式,如果不需要备份,引号可为空。

你可能感兴趣的:(sed命令在文件中替换、插入)