sed可以相对Perl更容易的使用正则,所以需要熟悉一下
删除:
删除以server-id开头的一行
sed -i "/^server-id/d" /etc/my.cnf
增加:
在有server-id的行后边增加一行
sed -i '/server-id/a\server-id=3' /etc/my.cnf
修改:
下边是一个修改的案例
MYCNFFILE='/etc/my.cnf'
FILE_PATH=$(grep ^innodb_data_file_path $MYCNFFILE|grep -v grep)
echo $FILE_PATH
FOUND=$(grep innodb_data_file_path $MYCNFFILE|grep autoextend|grep -v grep)
if [ -z "$FOUND" ]; then
sed -i "s/^$FILE_PATH/$FILE_PATH:autoextend/" $MYCNFFILE
echo "my.cnf was changed!"
grep ^innodb_data_file_path $MYCNFFILE|grep -v grep
fi
rm -f $0
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/82392/viewspace-509947/
,如需转载,请注明出处,否则将追究法律责任。