寻找人类可读在UNIX文件上(Finding human-readable files on uni

2019-08-08 03:51发布

我想找到我的Linux机器上的人类可读的文件,没有文件扩展名的约束。 这些文件应该是一样的文字,配置,HTML源代码等文件,人体感应的文件。 你可以建议的方式来筛选和定位。

Answer 1:

发现和文件是你的朋友在这里:

find /dir/to/search -type f -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print

这会找到任何文件(注意:它不会找到符号链接的目录插座等唯一的规则文件)/目录/至/搜索和运行的sh -c“文件-b {} | grep的文本&>的/ dev / null的” \; 它着眼于文件的类型,并查找在说明文字。 如果返回true(即文本是在该行),那么它打印的文件名。

注:使用-b标志filemeans未打印的文件名,因此无法创建与grep的任何问题。 例如,没有-b标志二进制文件的gettext将被错误地检测为一个文本文件。

例如

root@osdevel-pete# find /bin -exec sh -c 'file -b {} |  grep text &>/dev/null' \; -print
/bin/gunzip
/bin/svnshell.sh
/bin/unicode_stop
/bin/unicode_start
/bin/zcat
/bin/redhat_lsb_init
root@osdevel-pete# find /bin -type f -name *text*
/bin/gettext

编辑:

如果你想在压缩文件中查找使用--uncompress标志文件。 获取更多信息和标志,以文件中看到男子文件



Answer 2:

怎么样

find /dir/to/search -type f | xargs file | grep text

find会给你的文件列表。

xargs file将运行file上的每个从管道输入的线的命令。



Answer 3:

我用

    file directory/to/search/* 

例如,要查找一个目录中称为家庭只使用人类可读的文件:

    file home/* 

和可读的文件将有一个格式,如ASCII文本



文章来源: Finding human-readable files on unix