gpt4 book ai didi

regex - 正则表达式错误

转载 作者:行者123 更新时间:2023-12-01 10:16:44 30 4
gpt4 key购买 nike

我有一个可以在 Javascript 中使用的正则表达式,但不适用于 Linux find 命令。目的是收集最近 90 天内更新的文件列表,不包括特定目录(例如,假设我想包含目录 /data/safe/23/test,但是不是 /data/safe/23/skip1)。这是正则表达式:

^/data/safe/\d{1,4}/(?:(?!skip1|skip2).*)

这里是 find 命令(注意我使用的是 posix-extended;这可能是问题所在):

find /data/safe -regextype posix-extended -regex '^/data/safe/\d{1,4}/(?:(?!skip1|skip2).*)' -mtime -90

最后这是生成的错误:

find: Invalid preceding regular expression

非常感谢任何帮助!

最佳答案

我认为 posix-extended 不支持“?:”和“?!”。

无论如何,有了find,使用类似这样的东西会更容易:

find /data/safe -regextype posix-extended -regex '^/data/safe/[0-9]{1,4}/.*' ! -regex '^/data/safe/[0-9]{1,4}/(skip1|skip2).*' -mtime -90

关于regex - 正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725481/

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