在 bash 中查找与多个模式匹配的文件

find files matching several patterns in bash

我正在尝试查找以任何以下表达式结尾的文件夹中的所有文件:

"00.png"或"25.png"或"50.png"或"75.png"

我正在使用命令

find . -type f -name '(*00.png|*25.png|*50.png|*75.png)'

没有成功,正确的方法是什么?

在不使用任何正则表达式的情况下,您可以使用:

find . -name '*[05]0.png' -o -name '*[27]5.png'

如果您真的热衷于使用正则表达式,请使用此 gnu find 命令:

find . -regextype egrep -regex '.*/([05]0|[27]5)\.png$'

您可以使用查找命令的 regex 选项:

find . -type f -regextype posix-extended -regex '(.*00\.png|.*25\.png|.*50\.png|.*75\.png)'