如何用正则匹配[[runners]]区块下的name和executor行?
如何用正则表达式匹配[[runners]]区块下的name和executor行?
尝试过的正则表达式:
(?=.*?(name.*))(?=.*?(executor.*))(?<=\[runners\])[\s\S](\s*name.*)/(?<=\[\[runners\]\])[\s\S](?=.*?(name.*))(?<=[\s\S])(?=.*?(executor.*))/g
文件示例:
[[runners]] name = "admin" url = "url" token = "token" executor = "shell" [runners.custom_build_dir] [runners.cache] [runners.cache.s3] [runners.cache.gcs] [runners.cache.azure] [[runners]] name = "admin2" url = "url" token = "token" executor = "docker" [runners.custom_build_dir] [runners.cache] [runners.cache.s3] [runners.cache.gcs] [runners.cache.azure]
预期结果:
[[runners]] name = "admin" executor = "shell" [[runners]] name = "admin2" executor = "docker"
最终解决方案:
基于@PoulBak的思路,使用grep命令可快速实现需求:
grep -E '\[\[runners\]\]|name = "[^"]+"|executor = "[^"]+"' /etc/gitlab-runner/config.toml
内容的提问来源于stack exchange,提问作者Demmy
相关产品推荐
相关产品推荐

