有没有办法指定find
我只想要文本文件(而不是二进制文件)?Grep
有一个排除二进制文件的选项,所以我想find
可能有一个类似的功能,但我一直找不到它。
答案1
这是因为grep
查看了文件的内容。
find . -exec sh -c "file -b --mime-type {} | grep -q '^text/'" \; -print
答案2
find
可以通过元数据查找文件,但不能检查内容。但是,你可以将其与以下内容结合使用file
:
find .git -type f -exec file -iN0 {} + |
awk -F '\0' '$2 ~ /^: text\// {print $1}'
| awk ...
(如果您还想了解更详细的信息,可以删除该部分。)