为什么找不到使用给定正则表达式排除的文件?

为什么找不到使用给定正则表达式排除的文件?

我正在尝试查找以下所有文件/mnt/Storage 不是在 下/mnt/Storage/.Snapshots。以下有效:

find /mnt/Storage | egrep -v "^/mnt/Storage/\.Snapshots"

但下面的情况却不是这样:

find /mnt/Storage -regextype posix-egrep -not -regex "/mnt/Storage/\.Snapshots.*"

尽管据我所知,两者应该是等价的。

似乎还删除了第二个表达式中的 -not 导致只.Snapshots列出文件,所以几乎就像正则表达式是正确的,但我使用-not错了......只是我不知道怎么做到的。

我在执行第二条命令时犯了什么严重错误?我实际上正在尝试使用更好的解决方案-prune,但我仍然不明白为什么我的尝试不起作用。

相关内容