在BASH中,查找匹配不同名称的文件夹

In BASH, find folders that match different names

我想找到所有匹配不同名称且早于 X 天的子文件夹

我试过只有一个名字:

find my_folder -maxdepth 3 -type d -name "*mine*" -mtime +30

这没问题。我不知道如何扩展它以匹配具有 "test" 和 "older" 名称的文件夹

您可以使用 -o 对条件进行 OR 运算,并确保在 ORed 指令两边使用括号:

find my_folder -maxdepth 3 -type d \( -name "*mine*" -o -name "*test*" -o -name "*older*" \) -mtime +30

另一种选择是使用 -regex 选项:

find my_folder -regextype posix-extended -maxdepth 3 -type d -regex '.*(minetest|older).*" -mtime +30