标签: bash sed
这两个sed命令的行为似乎相同:
$ sed "s/^replace=*/replace=mytest/g" test.txt $ sed " s!^replace=*!replace=mytest!g " test.txt
这是为什么?可以使用!字符代替/吗?我没有在sed文档中看到!字符的那么多解释。
!
/
答案 0 :(得分:3)
你应该更仔细阅读man-pages:)
info sed:
info sed
3.5命令 s(在替换中)命令的语法是's / regexp / replacement / flags'。 /字符可以由任何给定s命令中的任何其他单个字符统一替换。 /字符(或其他任何字符代替它)只有在前面带有\字符时才会出现在regexp或replacement中。
3.5命令
s(在替换中)命令的语法是's / regexp / replacement / flags'。 /字符可以由任何给定s命令中的任何其他单个字符统一替换。 /字符(或其他任何字符代替它)只有在前面带有\字符时才会出现在regexp或replacement中。
TL;博士
正如这些手册页中所述,您可以使用任何单个字符作为sed regexp和replacement的分隔符。
regexp
replacement
编辑: 感谢Evil Otto用于清除水晶:)