首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除空间分隔路径的路径前缀

删除空间分隔路径的路径前缀
EN

Stack Overflow用户
提问于 2016-06-08 08:44:51
回答 2查看 64关注 0票数 2

给出由单个空格分隔的路径列表:

代码语言:javascript
复制
/home/me/src/test /home/me/src/vendor/a /home/me/src/vendor/b 

我想删除前缀/home/me/src/,结果是:

test vendor/a vendor/b

对于一条路径,我要做的是:${PATH#/home/me/src/},但是如何将它应用于本系列?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-08 08:49:10

可以使用//替换所有出现的子字符串。用空字符串替换它以删除它们。

代码语言:javascript
复制
$ path="/home/me/src/test /home/me/src/vendor/a /home/me/src/vendor/b"
$ echo ${path//\/home\/me\/src\/}
test vendor/a vendor/b

参考资料:${参数/模式/字符串}在Bash参考手册中

票数 4
EN

Stack Overflow用户

发布于 2016-06-08 09:02:02

就像我身边的grep解决方案一样:

代码语言:javascript
复制
echo 'your string' | grep -Po '^/([^ /]*/)+\K.+'

请注意,上面的正则表达式对任何字符串(如/x/y/z/test .. )都这样做。但是,如果您只对替换/home/me/src/感兴趣,请尝试以下方法:

代码语言:javascript
复制
echo 'your string' | grep -Po '^/home/me/src/\K.+' --color  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37697512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档