仅查找目录中的文本文件

时间:2016-06-16 06:55:53

标签: linux shell find

我试过用这个:

      $ find . -type f -exec file {} \;
        ./alma: ASCII text
        ./jaj.C: C source, ASCII text
        ./repa: ASCII text, with escape sequences
        ./mas.cpp: C++ source, ASCII text
        ./capa: ASCII text
        ./valami: ASCII text

但是如果它是一个cpp文件,例如它仍然写文本,所以我不能使用grep来排除二进制文件....我该怎么办?

1 个答案:

答案 0 :(得分:2)

这是快速执行此操作的方法:

find . -type f -exec grep -Iq . {} \; -print
grep中的

-I将忽略二进制文件,由于.(任何字符匹配),文本文件将立即匹配,grep将使匹配文件成功,因此-print来自{ {1}}将打印文件名。