bash 中的“sed”命令

新手上路,请多包涵

有人可以为我解释这个命令:

 cat | sed -e 's,%,$,g' | sudo tee /etc/init.d/dropbox << EOF
   echo "Hello World"
EOF

“sed”命令有什么作用?

原文由 ajsie 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 741
2 个回答

sed流编辑器。它可以做一大堆 很酷的事情,但最常见的是文本替换。

命令行的 s,%,$,g 部分是要执行的 sed 命令。 The s stands for substitute, the , characters are delimiters (other characters can be used; / , : and @ 很受欢迎)。 % 是要匹配的模式(这里是文字百分号),而 $ 是第二个要匹配的模式(这里是文字美元符号)。最后的 g 意味着 g 在每一行上全局替换(否则它只会更新第一个匹配项)。

原文由 Jack Kelly 发布,翻译遵循 CC BY-SA 4.0 许可协议

这里 sed $ 替换所有出现的 %

举个例子

$ echo 'foo%bar%' | sed -e 's,%,$,g'

将产生“foo\(bar\)”。

原文由 codaddict 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题