gpt4 book ai didi

regex - 授予 sudo 权限以记录不同路径上的文件,如/a/b1/c.log 和/a/b2/d.log 等文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:28 25 4
gpt4 key购买 nike

我需要一个很好的 Centrify 工具专栏,其中包括不同文件夹下的所有日志文件,例如;

/oradata1/oracle/admin/A/scripts/rman_logs/*.log

/oracle/oracle/admin/B/scripts/rman_logs/*.log

/oradata2/admin/C/scripts/logs/*.log

我使用了这个,但是在 * 字符之后用户可以看到所有日志;/ora(data(1|2)|cle)/oracle|admin/admin/*/scripts/rman_logs

/ora(data(1|2)|cle)/oracle|admin/admin/*/scripts/rman_logs

我必须使用哪种表达方式。

最佳答案

如果我正确理解我们的问题,您只需要 .log 文件。您可以使用正向前瞻来断言它确实是一个 log 文件(在文件名末尾包含 .log),并匹配文件名,无论它是什么 (.*)

然后就很简单了。 (?=.*\.log(?:$|\s)).* 当然,如果您希望限制匹配,您也可以添加特定文件夹,但正向前瞻仍然会起作用。 IE。 (?=.*\.log(?:$|\s)).*/scripts/.*

编辑:作为您的评论,您只需要这些文件夹,因此您只需交替指定它们的文件路径并在末尾添加 [^.\s\/]*\.log 。所以:

(?:\/oradata1\/oracle\/admin\/A\/scripts\/rman_logs\/|\/oracle\/oracle\/admin\/B\/scripts\/rman_logs\/|\/oradata2\/admin\/C\/scripts\/logs\/)[^\s.\/]*\.log 您可以通过尝试组合文件路径元素来缩短正则表达式,但是,imo ,没有必要,因为您也可以单独指定每个文件路径(如果它们不重叠太多)。

关于regex - 授予 sudo 权限以记录不同路径上的文件,如/a/b1/c.log 和/a/b2/d.log 等文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com