我想确定程序 STDOUT 输出内容的文件类型(无需先将输出保存到文件) 也就是说,理论上,我想运行:
myprogram | file
但是,`/usr/bin/file 无法从 STDIN 读取。
如果我尝试类似:
my program | file <(cat /dev/stdin)
,我会收到错误broken symbolic link to pipe:[460261257]
我知道我可以将输出保存到临时文件,在临时文件上运行
file
,然后删除临时文件,但这看起来非常笨拙。
那么是否有任何带有重定向和/或文件描述符的 bash 魔法可以让我确定程序输出的文件类型?
使用
-
文件名指定要从标准输入读取的 file
例如。 cat myfile | file -