4

Есть ли способ указать, чтобы find что я хочу только текстовые файлы (а не двоичные файлы)? Grep есть возможность исключить двоичные файлы, поэтому я подумал, что find вероятно, имеет аналогичную функцию, но я не смог ее найти.

2 ответа2

6

Это потому, что grep просматривает содержимое файла.

find . -exec sh -c "file -b --mime-type {} | grep -q '^text/'" \; -print
4

find может находить файлы по их метаданным, но не проверять содержимое. Однако вы можете связать его с file:

find .git -type f -exec file -iN0 {} + |
awk -F '\0' '$2 ~ /^: text\// {print $1}'

(Вы можете удалить часть | awk ... если вам также нужна более подробная информация.)

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