使用 SED 在匹配后添加一行只会回显整个文件

使用 SED 在匹配后添加一行只会回显整个文件

我试图sed在 bash 文件中使用它找到后添加以下内容AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

为了简化事情,我只专注于添加第一行,直到我得到正确的结果,到目前为止我已经做到了......

sed '/AddDefaultCharset UTF-8/a <IfModule mime_magic_module>' /home/testfile.ini

但是当我尝试运行它时,它只会回显整个文件,我哪里出错了?

答案1

-e在 sed 命令之前使用。

sed -e '/AddDefaultCharset UTF-8/a <IfModule mime_magic_module>\n    MIMEMagicFile conf/magic\n</IfModule>' your_conf_file.ini

笔记:您可以使用(或任何其他后缀)-i.bak执行就地编辑并创建备份。.bak

相关内容