gpt4 book ai didi

regex - 如何使用sed删除echo输出的一些行

转载 作者:行者123 更新时间:2023-12-05 09:25:51 25 4
gpt4 key购买 nike

我想删除一些行。我已经有了 git@gitlab.com:awg-roi-new/roi4cio-catalogs-fe.git,我只需要留下 roi4cio-catalogs-fe。我使用了下一个代码,但它无法正常工作。

echo git@gitlab.com:awg-roi-new/roi4cio-catalogs-fe.git | sed -r 's/.*\///' | sed -r 's/\.+//'

最佳答案

您的命令没有给您正确的结果,因为您在此处重复了 1 次或多次:

sed -r 's/.*\///' | sed -r 's/\.+//'
^^^

但是你想匹配点后的1个或多个字符:

sed -r 's/.*\///' | sed -r 's/\..+//'
^^^^

要仅保留最后一个 / 到最后一个 出现之前的部分。 您可以使用带有捕获组和反向引用的单个命令:

echo git@gitlab.com:awg-roi-new/roi4cio-catalogs-fe.git | 
sed -E 's/.*\/([^/]+)\.[^./]+$/\1/'

输出

roi4cio-catalogs-fe

关于regex - 如何使用sed删除echo输出的一些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74992248/

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