linux sed 如何在匹配的行的当前行前面添加字符串?

文件 /etc/php/7.4/fpm/conf.d/xdebug.ini 内容如下:

zend_extension=xdebug.so

我想通过 sed 在这句配置之前加上 ; 符号,这句配置的行号是任意的,所以不能通过行号匹配,我自己通过

sed -i '/xdebug/i\;' /etc/php/7.4/fpm/conf.d/xdebug.ini

加上了,但是他变成了在两行,网上找了半天找不到答案,请大神帮忙解惑,谢谢。

我希望他变成:

;zend_extension=xdebug.so

阅读 2k
1 个回答

可以用 '/xdebug/s/^/;/'


'/xdebug/s/^/;/'
 ^^^^^^^^  在能匹配上 xdebug 的行
         ^ 进行正则表达式替换
          ^^^^^ 将行首替换为 ; 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题