首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅从perforce输出中提取depot路径

仅从perforce输出中提取depot路径
EN

Stack Overflow用户
提问于 2011-06-08 10:52:04
回答 4查看 301关注 0票数 2

这里已经尝试了几个“提取到一个字符”的问题,都不起作用。在grep -o中使用它

示例输入: //blah/blah/foo.txt#7 -由blah@blah编辑更改12526 (文本)

我想获取: //blah/blah/foo.txt

现在我正在使用正则表达式'/^#*/‘,但是我得到//blah/blah/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-08 11:15:29

grep不使用斜杠来分隔模式,因此斜杠是逐字匹配的。

尝试:

代码语言:javascript
复制
echo '//blah/blah/foo.txt#7 - edit change 12526 (text)' | grep -o '/[^#]*'

请注意,如果“文本”中有一个斜杠,该部分也将匹配,因此将由grep -o打印。所以我会用这样的东西:

代码语言:javascript
复制
echo '//blah/blah/foo.txt#7 - edit change 12526 (text)' | sed 's/#.*//'

(当然,这两种方法都假定文件名中没有#。)

票数 5
EN

Stack Overflow用户

发布于 2011-06-10 06:37:20

使用cut

<whatever it takes to get your output> | cut -f1 -d"#"

所以,如果你正在抓取一个文件的内容或者类似的东西。

grep -o "whatever text" inputFile | cut -f1 -d"#"

-d"#"表示使用"#“作为分隔符,-f1表示第一个字段。

票数 1
EN

Stack Overflow用户

发布于 2011-06-08 11:07:37

试试这个:/^.*(?=#)/它使用了一个(非消耗的)前瞻

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6273706

复制
相关文章

相似问题

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