У меня много каталогов в моей системе со структурой, выглядящей так:
\-----data
\------- 001abc
\------- 002abc
\------- 003abc
\------- 004abc
\------- 005abc
\ ....
Когда я хочу найти определенный каталог, просто введите find . -iname "002abc*", но как я могу найти каталог, исключая определенные совпадения имен?
Что-то вроде этого в MySQL select * from folder where filename != '0021bc'
Вы можете найти «все» папки, а затем выбрать ту, которую вы не хотите, с помощью grep -v (или, например, для этого)
find . -iname "abc*" | grep -v 002
Если вы хотите выбрать больше, чем одно имя, вы можете использовать последовательный grep -v или один оператор egrep.
find . -iname "abc*" | grep -v 002 | grep -v 003
или
find . -iname "abc*" | egrep -v "002|003"
Вам придется настроить его на то, что вы хотите, и я Я счастлив повторить. Если вы читаете справочную страницу для поиска, вы найдете много флагов для сортировки файлов и папок тоже.