Назад | Перейти на главную страницу

Glob Not Match?

Как перечислить файлы, которые не соответствуют глобусу?

Например, допустим, у меня есть каталог, содержащий сотни файлов, 97% из которых имеют расширение имени файла .png.

Я знаю, что могу перечислить файлы PNG с помощью:

ls *.png

Но как мне указать обратное, то есть только файлы не в формате PNG?

Используя ls:

ls -I "*.png"

кавычки важны для того, чтобы оболочка не оценивала *

Используя find:

find . -not -name "*.png"

Если у вас есть подкаталоги (с файлами), вы можете ограничить поиск:

find . -maxdepth 1 -type f -not -name "*.png" 

где

  • -maxdepth 1 ограничивает его текущим каталогом
  • -type f позволяет только печатать файлы