FIND 操作数和参数顺序

FIND 操作数和参数顺序

我有一个查找命令,但我不确定我是否正确地放置了我的参数。

find / -xdev -size -size -262144000c -o -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -type f

我只想查找不在 .snapshot、man 目录或 MVFS 文件系统中且大小小于 250MB 的文件。

我是否需要将尺寸命令放在括号中?我是否需要使用 -a 而不是 -o?

谢谢!

答案1

将我对问题的评论复制到答案中......

find / -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -xdev -size -262144000c -type f -print

-a-o如果没有指定,则表达式之间是隐含的。

(我的声誉不足以创建/编辑评论,我的评论随问题一起迁移自stackoverflow.com。不过,也许@Scott 可以回答并从他的贡献中受益,我学到了一些东西。你应该用同样的方式给他发消息。谢谢。)

答案2

crw 的回答很好。复制我的评论补充答案:

  • 我建议将保持-xdev在开头(在之后/)。
  • 如果你有-xdev,我确信你不需要-fstype
  • 另外,您可以更改  -name man -o -name Man  为  -name "[Mm]an"

相关内容