grep -E (不工作) vs grep -Po (工作) [重复]

grep -E (not working) vs grep -Po (working) [duplicate]

提问人:Sri 提问时间:10/19/2023 最后编辑:CyrusSri 更新时间:10/19/2023 访问量:38

问:

我有ci cd管道的shell脚本。我正在 intellij ide 终端中执行它。

latestVersionAvailable=$(curl -s $artifactoryPath/maven-metadata.xml | grep -Po '(?<=<version>)'$VERSION'.*?(?=</version>)' | sort -V | tail -1)
echo " latest $latestVersionAvailable"

当我在 shell 脚本中使用上面它时,它正在与 -Po 一起使用,但是当我使用 -E 时,它没有给我任何结果,为什么?

正则表达式 shell grep pcre

评论

0赞 Cyrus 10/19/2023
doc () 对你使用的 和 选项有什么看法?man grep-P-E

答:

2赞 choroba 10/19/2023 #1

-E用于扩展正则表达式。与 PCRE(Perl 兼容正则表达式)不同,ERE 不支持前瞻断言。-P