如何使用 "file" 检查多个文件的文件类型

How to check file types of multiple files using "file"

我正在解决这个兵棋推演挑战:

http://overthewire.org/wargames/bandit/bandit5.html

你有一个包含多个文件的目录,其中一个文件保存了下一级的密码。要找到隐藏的密码,您需要找到其中唯一包含文本的文件(其他文件的文件类型为"data")。

我用 "file" 命令检查了文件的内容,找到了密码,但我开始想知道如何用一个命令完成。我尝试使用 find,但无法正常工作。

问题:如何将 find 的输出通过管道传输到 file

您可以将 file 与多个参数一起使用:

file file1 file2

因此您可以创建一个 find 语句来查找您想要的文件,然后使用表达式:

file $(find ... your_condition ...)

但最好的方法可能是使用 -exec 对找到的结果执行操作:

find ... -exec file {} +

这执行 find 并在结果列表上执行 file 命令。