使用 file 命令,我需要验证许多文件是 ASCII 还是其他格式
有时我从文件命令中得到:
file1: ASCII English text
Run Code Online (Sandbox Code Playgroud)
有时我从文件命令得到不同的答案
file2: Non-ISO extended-ASCII English text, with very long lines
Run Code Online (Sandbox Code Playgroud)
我真的不确定是否还有其他语法不同的答案
我的问题是:
我编写了以下 ksh 语法来验证文件是否为 ASCII,但我不确定
以下语法是验证 ASCII 格式的最佳语法?
[[ ` file $some_file | grep –c ASCII ` = 1 ]] && print "you have ascii file for sure"
Run Code Online (Sandbox Code Playgroud)
如果有人有其他建议来确定验证 ASCII 格式!,我会很高兴看到
if LC_ALL=C grep -q '[^[:print:][:space:]]' file; then
echo "file contains non-ascii characters"
else
echo "file contains ascii characters only"
fi
Run Code Online (Sandbox Code Playgroud)
由于您正在使用代码解析输出,因此我建议使用-ion 选项file,以便它输出MIME类型而不是人类友好的字符串。MIME 类型输出更加规则,这使得在代码中处理起来更容易一些。
至于输出类型,查看man 文件说明:
/usr/share/file/magic
Default list of magic numbers
/usr/share/file/magic.mime
Default list of magic numbers, used to output mime types
when the -i option is specified.
Run Code Online (Sandbox Code Playgroud)
查看这些文件中它可以报告的所有 MIME 类型,以确定在解析file. 我怀疑您所关心的只是 MIME 类型以text/.
| 归档时间: |
|
| 查看次数: |
3198 次 |
| 最近记录: |