我有一个可以在 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
任何帮助是极大的赞赏!