我有一些由语义发布输出的日志。我想得到下一个语义版本。
这是一些原木
[6:53:27 p.m.] [semantic-release] › ℹ The next release version is 1.1.1
[6:53:27 p.m.] [semantic-release] › ℹ Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:53:27 p.m.] [semantic-release] › ✔ Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:53:27 p.m.] [semantic-release] › ⚠ Skip step "prepare" of plugin "@semantic-release/changelog" in dry-run mode
[6:53:27 p.m.] [semantic-release] › ⚠ Skip 1.1.1 tag creation in dry-run mode
[6:53:27 p.m.] [semantic-release] › ✔ Published release 1.1.1 on apk-add-version channel
[6:53:27 p.m.] [semantic-release] › ℹ Release note for version 1.1.1:我想从日志中得到1.1.1
我试过:yarn semantic-release -d | grep 'Release note' | grep -Eo "(\d+)\.(\d+)\.(\d+)"
它可以在本地机器上工作,但我想尝试一种不同的方法(因为egrep -o或greo -Eo似乎不适用于github-actions )。它总是返回错误代码0)
我要找的是Release note for version 1.1.1:
如果找到1.1.1,请捕获Release not for version。
发布于 2020-08-26 01:20:57
这是因为grep -E正在使用不支持\d的扩展正则表达式。所以你有两个解决方案:
grep -P使用Perl正则表达式并使用\dgrep -E,但将正则表达式更改为[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+或[0-9]+\.[0-9]+\.[0-9]+https://stackoverflow.com/questions/63589075
复制相似问题