Как мне изменить этот скрипт, чтобы получить в списке только полезную информацию о диске, которая мне нужна?

Я хотел бы получить список всех моих жестких дисков, включая следующую информацию. Серийный номер, 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" в конец строки

Буду очень признателен, если кто-нибудь поможет мне разобраться, как изменить команду, чтобы она добавляла имена и размеры разделов.

0 ответов

Другие вопросы по тегам