已经在这里尝试了一些“提取字符”问题,但没有成功。 在 grep -o 中使用它
示例输入: //blah/blah/foo.txt#7 - 通过 blah@blah 编辑更改 12526(文本)
我想要得到: //等等/等等/foo.txt
现在我正在使用正则表达式 '/[^#]*/' 但我得到 //废话/废话/
最佳答案
grep
不使用斜杠来分隔模式,因此斜杠是按字面匹配的。
尝试:
echo '//blah/blah/foo.txt#7 - edit change 12526 (text)' | grep -o '/[^#]*'
请注意,如果“文本”中包含斜杠,则该部分也将匹配,因此将由 grep -o
打印。所以我会选择这样的东西:
echo '//blah/blah/foo.txt#7 - edit change 12526 (text)' | sed 's/#.*//'
(当然,这两者都假设您的文件名中没有 #。)
关于regex - 从 perforce 输出中仅提取仓库路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6273706/