0

这两个 sed 命令的行为似乎相同:

$ sed "s/^replace=*/replace=mytest/g" test.txt 

$ sed "
  s!^replace=*!replace=mytest!g
" test.txt

为什么是这样?可以用!字符代替/吗?!我在 sed 文档中没有看到太多关于字符的解释。

4

1 回答 1

3

您应该更仔细地阅读手册页:)

info sed

3.5 s 命令

s(作为替代)命令的语法是 's/regexp/replacement/flags'。/ 字符可以被任何给定的 s 命令中的任何其他单个字符统一替换。/ 字符(或任何其他用来代替它的字符)只能出现在正则表达式或替换中,前提是它前面有一个 \ 字符。

tl;博士

如这些手册页中所述,您可以使用任何单个字符作为 sedregexpreplacement.

编辑:感谢邪恶的奥托水晶般的清理:)

于 2013-09-24T18:16:29.027 回答