Yiğ*_*ğit 6 linux find human-readable
我想在我的linux机器上找到没有文件扩展名约束的人类可读文件.这些文件应该是人类感知文件,如文本,配置,HTML,源代码等文件.你能建议一种过滤和定位的方法吗?
Bla*_*lam 15
怎么样
find /dir/to/search -type f | xargs file | grep text
find 会给你一个文件列表.
xargs file将file在管道输入的每一行上运行命令.
find和file是你的朋友:
find /dir/to/search -type f -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print
Run Code Online (Sandbox Code Playgroud)
这将在/ dir/to/search中找到任何文件(注意:它不会找到符号链接目录套接字等只有常规文件)并运行sh -c'file -b {} | grep text&>/dev/null'\; 查看文件类型并在说明中查找文本.如果返回true(即文本在行中),则打印文件名.
注意:使用-b标志来表示文件名未打印,因此无法使用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
Run Code Online (Sandbox Code Playgroud)
编辑:
如果要查看压缩文件,请使用--uncompress标志来存档.有关更多信息和文件标志,请参阅man文件
| 归档时间: |
|
| 查看次数: |
49907 次 |
| 最近记录: |