如何在 find 命令中使用或查找具有特定模式的多个文件

如何在 find 命令中使用或查找具有特定模式的多个文件

是否可以使用 find 命令或指定多个模式来查找正则表达式或任何其他方法?例如,我正在寻找不在某个目录中的所有文件.bashrc.profile以下内容不起作用,但可以表达出我想要完成的任务:

find . ! -name "(.bashrc|.profile)"

谢谢!

答案1

您可以使用

! \( -name '.bashrc' -o -name '.profile' \)

前任。

$ find /etc/skel ! \( -name '.bashrc' -o -name '.profile' \)
/etc/skel
/etc/skel/.mkshrc
/etc/skel/examples.desktop
/etc/skel/.kshrc
/etc/skel/.bash_logout

在这种情况下,引号实际上不是必需的,但如果搜索模式包含 glob 字符,您应该养成使用它们的习惯。

相关内容