sed -e 's#\(topics\/\)[0-9]*\(\/replies\/\)[0-9]*\(\/edit\)#\1int\2int\3#g'
对于上面的代码有两个疑问:
1、请问上面的shell中,替换字符部分,
\1int\2int
中的1和2代表什么意思呢,是不是代表前面被替换字符的位置呢?
2、为什么被替换字符用小括号括起来以后,就不会被后面的int替换掉了呢?比如
\(topics\/\)
就不会被int替换掉了。
先谢谢各位大佬
sed -e 's#\(topics\/\)[0-9]*\(\/replies\/\)[0-9]*\(\/edit\)#\1int\2int\3#g'
对于上面的代码有两个疑问:
1、请问上面的shell中,替换字符部分,
\1int\2int
中的1和2代表什么意思呢,是不是代表前面被替换字符的位置呢?
2、为什么被替换字符用小括号括起来以后,就不会被后面的int替换掉了呢?比如
\(topics\/\)
就不会被int替换掉了。
先谢谢各位大佬
\n的写法代表分组数据里第几个,前面用小括号围起来的数据代表分组,所以就是把前面的数据再引用到后面去。
明白了,谢谢思寒老师