bash – 为什么sed不能替换所有的出现?

前端之家收集整理的这篇文章主要介绍了bash – 为什么sed不能替换所有的出现?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我在bash中运行这个代码
echo dog dog dos | sed -r 's:dog:log:'

它给出输出

log dog dos

如何使它替换所有的狗的事件?

您应该添加g修饰符,以便sed对模式缓冲区的内容进行全局替换:
echo dog dog dos | sed -e 's:dog:log:g'

关于sed的一个奇妙的文档,检查http://www.grymoire.com/Unix/Sed.html.这个全局标志解释在这里:http://www.grymoire.com/Unix/Sed.html#uh-6

GNU sed的官方文档可从http://www.gnu.org/software/sed/manual/获取

猜你在找的Bash相关文章