要在文件中找到某一行并在其后追加一行字符串

在linux中,现编写脚本实现一些自动功能,具体是安装lamp.

现需要在 mysql 的配置文件中找到[mysqld], [client] 这2行,并在这2行各自新插入一行 :

default-character-set = utf8

## 请教各位,如何令shell找出[mysqld]和[client] 所在位置, 并插入新行。

万分感谢!

作者: iiitom   发布时间: 2011-02-09

应该是用sed吧,找到以后再用a来插入

sed '/mysqld/a\default-character-set = utf8' script

作者: lgxwqq111   发布时间: 2011-02-09

sed -i '/[mysqld]\|[client]/idefault-character-set = utf8' ur-file

作者: masmaster   发布时间: 2011-02-09

多谢楼上2位的指教,

未知用 /a 的方式好还是 -i

可否请稍微解释一下用法,谢谢

作者: iiitom   发布时间: 2011-02-09

sed -i 里的-i是直接修改文件
a命令是append,就是在匹配模式后追加字符串
i命令是insert, 就是在匹配模式前插入字符串。

作者: masmaster   发布时间: 2011-02-09