使用 find 排除多个文件类型

Excluding multiple filetypes with find

我有一个包含 20k 多张图片的文件夹,大多数图形用户界面文件管理器(如 dolphin)无法管理这么多数据。

所以我决定改用 bash。我的问题如下:

find . -type f -not -name "*.LBL" -o -not -name "*.IMG"

查看文件夹中不包括多个文件后缀的文件的正确方法是什么?

组条件,我认为 -o -not 没有按预期工作。试试这个:

find . -type f -not \( -name "*.LBL" -o -name "*.IMG" \)

您可以使用 bash 的 extended pattern matching(可能必须在带有 shopt -s extglob 的脚本中启用;通常在交互式 shell 中默认启用) :

printf "%s\n" !(*.LBL|*.IMG)