Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这两个 sed 命令的行为似乎相同:
$ sed "s/^replace=*/replace=mytest/g" test.txt $ sed " s!^replace=*!replace=mytest!g " test.txt
为什么是这样?可以用!字符代替/吗?!我在 sed 文档中没有看到太多关于字符的解释。
!
/
您应该更仔细地阅读手册页:)
info sed:
info sed
3.5 s 命令 s(作为替代)命令的语法是 's/regexp/replacement/flags'。/ 字符可以被任何给定的 s 命令中的任何其他单个字符统一替换。/ 字符(或任何其他用来代替它的字符)只能出现在正则表达式或替换中,前提是它前面有一个 \ 字符。
3.5 s 命令
s(作为替代)命令的语法是 's/regexp/replacement/flags'。/ 字符可以被任何给定的 s 命令中的任何其他单个字符统一替换。/ 字符(或任何其他用来代替它的字符)只能出现在正则表达式或替换中,前提是它前面有一个 \ 字符。
tl;博士
如这些手册页中所述,您可以使用任何单个字符作为 sedregexp和replacement.
regexp
replacement
编辑:感谢邪恶的奥托水晶般的清理:)