用sed替换2点之间的字符串

时间:2015-12-21 17:27:30

标签: sed

我的文件包含这样的行:

level0.1.level1.1.level1
level0.1.level1.2.level2

我想替换“.x”。用“{i}”

所以所需的行如下

level0.{i}.level1.{i}.level1
level0.{i}.level1.{i}.level2

2 个答案:

答案 0 :(得分:1)

当我们寻找" .x。",意思是"。"其次是任何角色 接下来是"。",sed的搜索模式将是 " \ .. \。",因为我们需要逃避"。"用" \"。 找到匹配后,将其替换为"。{i}。" " / g"最后意味着多次这样的替换。

 cat file | sed 's/\..\./.{i}./g'  

答案 1 :(得分:0)

使用sed

sed -r 's/[.][0-9]+[.]/.{i}./g'

崩溃测试

 echo 'level0.1.level1.2.level2'|sed -r 's/[.][0-9]+[.]/.{i}./g'

输出

level0.{i}.level1.{i}.level2