【发布时间】:2012-03-21 21:27:31
【问题描述】:
我需要建立一个目录树中二进制文件的所有文件扩展名的列表。
主要问题是如何区分文本文件和二进制文件,剩下的应该是小菜一碟了。
编辑:这是我得到的最接近的,还有更好的想法吗?
find . -type f|xargs file|grep -v text|sed -r 's:.*\.(.*)\:.*:\1:g'
【问题讨论】:
-
UTF-8 编码的文本文件怎么样?算作二进制文件吗?
-
按照惯例,可执行二进制文件没有扩展名。
-
@jordanm 除了那个明星的东西,而且颜色很大胆。 *鸭子* :)
-
空字节的存在是一种很好的启发式方法,尽管它可能会遗漏一些小的或特殊的二进制文件。
标签: linux bash filesystems