Bash脚本 - 读取二进制文件

Joe*_*oel 6 bash scripting binaryfiles

我是脚本新手,但我有很多使用C#和Java等语言编程的经验.

我有一个包含二进制数据的文件.我想编写一个Bash脚本来读取该文件中包含的年,月和日,这样我就可以根据记录日期将相关的MOD文件排序到文件夹中.我找不到一种方法来读取二进制数据并在bash脚本中解析它.有没有办法做到这一点?

R S*_*hko 8

你可以使用od(加上head和awk进行一些后处理).获得年份:

year=$(od -t x2 --skip-bytes=6 --read-bytes=2 file.moi | head -1 | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

这个月:

month=$(od -t x1 --skip-bytes=8 --read-bytes=1 file.moi | head -1 | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

而这一天:

day=$(od -t x1 --skip-bytes=9 --read-bytes=1 file.moi | head -1 | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)