Bash: 在文件中查找一个词并在其后添加文本

Bash: Find a word in file and add text after it

我正在尝试构建自己的 bash 脚本来安装 LEMP (nginx mariadb php)。 我已经成功完成了,但我卡在了需要添加 'index.php' 文本的部分 到索引行 @ /etc/nginx/sites-avaliable/default.

我试过 "sed" 并且非常接近,但还没有。

sed '/\index.htm/i index.php' input /etc/nginx/sites-available/default

那是我得到的最接近的

我也试过像这样替换 index.htm 文件:

sed 's/index.htm/index.php' /etc/nginx/sites-available/default

感谢您的帮助! :)

如果你想在输入文件中替换,你必须使用-i选项。否则 sed 将输出发送到标准输出。

s 命令需要一个终止分隔符。

sed -i 's/index.html/index.html index.php/' /etc/nginx/sites-available/default