sed用法点滴

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
请使用浏览器的分享功能分享到微信等