如何修改此脚本以仅获取列表中所需的有用磁盘信息

如何修改此脚本以仅获取列表中所需的有用磁盘信息

我想获取所有硬盘的列表,包括以下信息。序列号、UUID、大小以及每个磁盘上所有分区的名称和大小。我发现这个已经完成了一半

for file in $(find /sys/block/[sh][dr]*/device/ /sys/block/[sh][dr]*/ -maxdepth 1 2>/dev/null|egrep '(vendor|model|/size|/sys/block/[sh][dr]./$)'|sort); do [ -d $file ] && echo -e "\n -- DEVICE $(basename $file) --" && continue; grep -H . $file|sed -e 's|^/sys/block/||;s|/d*e*v*i*c*e*/*\(.*\):| \1 |'|awk '{if($2 == "size") {printf "%-3s %-6s: %d MB\n", $1,$2,(($3 * 512)/1048576)} else {printf "%-3s %-6s: ", $1,$2;for(i=3;i<NF;++i) printf "%s ",$i;print $(NF) };}';done

我更倾向于将其保存到文本文件中。我假设只需在行尾添加“> ~/disks.txt”即可

如果有人能帮助我弄清楚如何修改命令以便添加分区名称和大小,我将不胜感激。

相关内容