sed 反斜杠替换

使用sed批量替换文件中的命令为:

sed -i "s/xxx/yyy/g" *

如果要查找替换的字符串中包含反斜杠(\),需要使用三个反斜杠才能匹配上:

sed -i "s|app\\\models|app\\\library|g" *

两个反斜杠很常见吧?第一个用来转义第二个反斜杠,就达到了匹配的目的。像sed这样转义一个反斜杠需要两个反斜杠,是不是很少见?

更新: 如果要使用两个反斜杠替换,则sed命令后的字符串需要用 单引号

mysql替换

mysql的某个字段中包含’aaa’的字符串,现在需要全部替换成’bbb’,则可以使用这个命令:

update table set filed = replace (field, 'aaa', 'bbb') where 1;

通过这个命令,再也不需要蛋疼的拼凑substring, strlen, concat等命令的组合了!