【问题标题】:Finding first occurence of (/) in URL using Shell Script使用 Shell 脚本在 URL 中查找 (/) 的第一次出现
【发布时间】:2019-10-03 11:00:49
【问题描述】:

我是 shell 脚本的新手,我想更新文件中的 URL,下面给出文件中的 URL 示例。

http://in.archive.ubuntu.com/ubuntu/restricted宇宙多元宇宙deb-src

根据要求,只需更新URL中的以下部分

http://in.archive.ubuntu.com/

更新后应该是这样的

http://xyz/ubuntu/restricted宇宙多元宇宙deb-src

我使用 sed 来执行查找和替换 URL。

sed  "s,http://.*/,http://xyz/," filename.txt

但它正在替换 URL,直到最后一次出现 '/',如下所示

http://xyz/restrictedprecision-backports 主受限宇宙多元宇宙。

有没有什么方法可以在 URL 中找到 '/' 的第一次出现,我用谷歌搜索了它,不幸的是没有找到任何东西。我可能会错过一些东西。

任何建议,赞赏!!!

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    你很接近。 .* 尽可能匹配所有内容,正则表达式是贪婪的。你想匹配 直到 /。所以匹配[^/]*直到它。

    sed 's,http://[^/]*/,http://xyz/,'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多