sh - dd:复制每个 M 大小块的 N 个首字节
问题描述
给定一个由 N 字节长的数据块组成的二进制输入文件,如何使用 提取每个块的前 M 个字节dd
?
例如,当 M=10 和 N=8 时,数据可能如下所示:
$ M=10
$ head -c $(( M * 5 )) /dev/urandom \
| tee inputfile.bin \
| hexdump -e '"%07.7_Ax\n"' -e "\"%07.7_ax \" ${M}/1 \"%02x \" \"\n\""
0000000 c0 07 5d 59 dc 03 2e 38 49 c4
000000a ca ad 44 6d 09 61 2b 6c 7c ba
0000014 c4 96 c6 73 8b ed 42 cf d9 9c
000001e 49 b7 bb ea 32 dc 35 6a 5c d8
0000028 55 15 a0 aa d5 aa 60 2c 30 de
0000032
我想从输入中提取这个:
$ N=8
$ hexdump -e '"%07.7_Ax\n"' -e "\"%07.7_ax \" ${N}/1 \"%02x \" \"\n\"" output.bin
0000000 c0 07 5d 59 dc 03 2e 38
0000008 ca ad 44 6d 09 61 2b 6c
0000010 c4 96 c6 73 8b ed 42 cf
0000018 49 b7 bb ea 32 dc 35 6a
0000020 55 15 a0 aa d5 aa 60 2c
0000028
解决方案
推荐阅读
- sql - 如何在 SQL 中将具有成对关系的行合并为单行
- python-3.x - 计算多个城市的中心点纬度/经度
- javascript - 如何使用 eventListener 通过 Node 和 Express 发送发布请求?
- python - QTreeView 只装饰和缩进某些列
- javascript - 如何在 TypeScript 中安全地键入分层元数据对象?
- vuex - 更新过滤的多行 Vuex 支持的表单会导致“不改变 vuex 存储状态”
- php - csv 文件的每一行都有州、县和数据。如何使用 PHP 关联数组转换为 states=>counties=>county=>data
- python - 如何找到第一次调用函数的位置并相应地返回 None ?
- css - 使用 VS2019 的 Bootstrap 4.5.0 CSS 4.0 编译错误
- c - 在 C 中使用多个关系运算符的问题