gpt4 book ai didi

linux - grep 并替换 2 个文件路径

转载 作者:太空宇宙 更新时间:2023-11-04 04:17:31 26 4
gpt4 key购买 nike

我目前正在进行一个项目,我想在多个地方更改图片。

  old file dir: /images/icons/helpPop.png
new file dir: /public/website_pngs/icons-buttons/button_question_mark.png

我想尝试

grep -rl 'images/icons/helpPop' . | xargs sed -i 's/images/icons/helpPop/public/website_pngs/icons-buttons/button_question_mark/g'

但我知道这行不通。我正在研究分隔符,希望得到一些额外的建议。

最佳答案

I am looking into delimiters and would like some extra advice please.

一些建议:

  • 如果旧/新目录已修复,请尝试将它们保存到变量中
  • 在 sed 中使用不同的分隔符,例如“s#$old#$new#g”或“s@$old@$new@g”(双引号!!)
  • 为了更安全,你最好避开。 (句点/点) 在你的旧目录文本中。因为它表示正则表达式中的any char。对于这样的纯文本可能是一个危险的操作。 (幸运的是,您的路径中没有 .* ^_^ )

或者您想要工作代码?

编辑评论:

您不需要“设置”分隔符,只需使用它,就像使用 / 一样,看一下这个示例:

kent$  echo "/////"|sed 's#/#?#g'
?????

kent$ echo "/////"|sed 's^/^?^g'
?????

kent$ echo "/////"|sed 's%/%?%g'
?????

kent$ echo "/////"|sed 's;/;?;g'
?????

关于linux - grep 并替换 2 个文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com