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等命令的组合了!