获取二进制文件头中的整数数值

时间:2014-12-09 15:20:06

标签: linux command-line

我想检查STL format中写入的文件的标头是否正确形成。

标头以80字节的字符串开头,之后是4字节的无符号整数;这个整数是我要检查其值的数字。

我试图像这样显示前84个字节:

head -c 84 test_above2GB_fails.stl

但是这给了我:

solid                                                                           (\?

因此该命令适用于字符串(solid没问题),但整数被解释为字符(\?

如何显示该整数的数值? (十进制或十六进制或其他任何数字。)

1 个答案:

答案 0 :(得分:2)

您可以使用它来查看80字节数据后的整数

cat test_above2GB_fails.stl | dd ibs=1 skip=80 2>/dev/null | od -tu4

dd用于跳过前80个字节。 od -td4表示将输入格式化为4字节无符号小数。您可以使用od -tx1以十六进制模式查看

或不使用cat并且只读取80到84之间的4个字节

dd if=test_above2GB_fails.stl ibs=1 skip=80 count=4 2>/dev/null | od -tu4