要在文件中找到某一行并在其后追加一行字符串
在linux中,现编写脚本实现一些自动功能,具体是安装lamp.
现需要在 mysql 的配置文件中找到[mysqld], [client] 这2行,并在这2行各自新插入一行 :
default-character-set = utf8
## 请教各位,如何令shell找出[mysqld]和[client] 所在位置, 并插入新行。
万分感谢!
现需要在 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
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
可否请稍微解释一下用法,谢谢
未知用 /a 的方式好还是 -i
可否请稍微解释一下用法,谢谢
作者: iiitom 发布时间: 2011-02-09
sed -i 里的-i是直接修改文件
a命令是append,就是在匹配模式后追加字符串
i命令是insert, 就是在匹配模式前插入字符串。
a命令是append,就是在匹配模式后追加字符串
i命令是insert, 就是在匹配模式前插入字符串。
作者: masmaster 发布时间: 2011-02-09