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