测试人社区

求问sed 中的数字是什么意思呢?

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的写法代表分组数据里第几个,前面用小括号围起来的数据代表分组,所以就是把前面的数据再引用到后面去。

明白了,谢谢思寒老师 :rose: