想问一下下面两个的区别:
sed -i "s/old/new/g"
sed -i "s#old#new#g"
两种写法中,/和#有什么区别么
The/
characters may be uniformly replaced by any other single character within any givens
command. The/
character (or whatever other character is used in its stead) can appear in the regexp or replacement only if it is preceded by a\
character.
甚至可以写 'ssoldsnewsg'
这里没啥区别,就是个模式分隔符,你还可以用冒号。
之所以弄出来好几种分隔符,就是因为可能你要查找或替换的文本里可能会包含这个分隔符,这样你就可以选择用另一个分隔符来分隔,就省得再转义了,可读性会稍好一些。这点是继承自 vi 的,vi 里的查找替换命令就支持多种分隔符。