You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下通过Bash从.img镜像文件提取fdisk指定值至变量

Bash脚本提取SD卡镜像的扇区大小与分区End值

直接将以下代码片段集成到你的Shell脚本中,即可提取目标值并保存为变量:

# 定义镜像文件路径
IMG_PATH="/home/documents/image-of-sd-card.img"

# 提取扇区大小(Sector size行的最后数值)
sector_size=$(fdisk -l "$IMG_PATH" | grep "Sector size" | awk '{print $NF}')

# 提取第二个分区的End字段数值
end_sector=$(fdisk -l "$IMG_PATH" | awk '/^\/dev/ {if (++count == 2) print $3}')

# 可选:打印变量验证结果
echo "扇区大小: $sector_size"
echo "第二个分区End值: $end_sector"

代码说明

  • fdisk -l "$IMG_PATH":列出镜像文件的分区表完整信息
  • 提取扇区大小:用grep定位到包含"Sector size"的行,再通过awk的$NF获取该行最后一个字段(即扇区大小数值)
  • 提取第二个分区End值:用awk匹配以/dev开头的分区行,通过计数器count定位到第二行分区数据,打印第3个字段(对应End列)

注意事项

  1. 确保你拥有镜像文件的读取权限,若权限不足需在fdisk前添加sudo
  2. 若fdisk输出的分区列顺序有差异,可先手动执行fdisk -l "$IMG_PATH"查看输出,调整awk中的字段序号(比如把$3改成对应End列的序号)

内容的提问来源于stack exchange,提问作者TimZed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:05:02