Мне удалось отфильтровать ".hi" и ".o" с помощью:

:filter '\.(o|hi)$'

Но как мне отфильтровать двоичные файлы?

1 ответ1

1

Нет способа сделать это. Это фильтр имен файлов, а имена не предполагают, является ли содержимое файла двоичным или нет.

Есть два основных способа реализовать это:

  • запрос mime-типа каждого файла
  • изучить содержимое каждого файла, чтобы оценить его вид

Оба варианта включают чтение файлов, и это то, что вам не нужно делать, так как это может снизить производительность (посмотрите на файловые менеджеры, которые отображают предварительные просмотры файлов, они довольно медленные даже при наличии кэшей). Для второго варианта будет достаточно что-то вроде первых 512 байт, но если вы откроете каталог, содержащий 1000 файлов (например, /usr/bin ), все эти файлы должны находиться в вашем хранилище, что очень медленно, если они уже не кэшируются ядро вашей ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .