【发布时间】:2018-07-29 23:44:56
【问题描述】:
我正在开发busybox,只有/bin/sh 可用。 我想了解我正在使用我的脚本处理的文件是否被视为 ASCII(只需阅读并做我需要做的事情)或 gzip(所以先解压缩然后做我需要做的事情)。
这里的“文件”命令会很完美,但不幸的是它不可用,因此我不知道要调用什么过程,因为我正在处理的输入文件可以是任何一种格式。
我想知道是否有一个我在这里缺少的简单解决方法来找出这个...
【问题讨论】:
-
你认为什么是“非 ASCII”?您是否只需要测试您的文件是否没有值在 0-127 之外的字符?
-
您可以检查寻找相同的幻数文件(IOW,制作您自己的文件,该文件只能判断文件是“gzip 还是非 gzip”)
-
顺便说一句,
file是否可用与您是否使用/bin/sh完全正交——这是由您的操作系统提供的命令,而不是您的 shell。 -
@CharlesDuffy : 只是好奇——你知道没有
file的操作系统吗(可能除了非常古老的 SCO Unix 或 SunOS 等)?我很惊讶 OP 声称file不存在。 -
@user1934428,我希望它是一个嵌入式系统。许多
buildroot-style 系统映像构建工具的可用性被确定为单独的切换;我当然已经构建了没有file(或完全没有libmagic)的。