32 lines
1.4 KiB
Go
32 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// `lsblk -pP` returns a string with the following format:
|
|
var sampleOutput = `NAME="/dev/sda" MAJ:MIN="8:0" RM="1" SIZE="57.7G" RO="0" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/sda1" MAJ:MIN="8:1" RM="1" SIZE="57.6G" RO="0" TYPE="part" MOUNTPOINT="/mnt/init/sda1"
|
|
NAME="/dev/sda2" MAJ:MIN="8:2" RM="1" SIZE="32M" RO="0" TYPE="part" MOUNTPOINT="/mnt/init/sda2"
|
|
NAME="/dev/mtdblock0" MAJ:MIN="31:0" RM="0" SIZE="128K" RO="1" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock1" MAJ:MIN="31:1" RM="0" SIZE="384K" RO="1" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock2" MAJ:MIN="31:2" RM="0" SIZE="128K" RO="1" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock3" MAJ:MIN="31:3" RM="0" SIZE="128K" RO="1" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock4" MAJ:MIN="31:4" RM="0" SIZE="125.3M" RO="0" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock5" MAJ:MIN="31:5" RM="0" SIZE="4M" RO="0" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock6" MAJ:MIN="31:6" RM="0" SIZE="121.3M" RO="0" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/mtdblock7" MAJ:MIN="31:7" RM="0" SIZE="256K" RO="0" TYPE="disk" MOUNTPOINT=""
|
|
NAME="/dev/ubiblock0_0" MAJ:MIN="254:0" RM="0" SIZE="13.9M" RO="0" TYPE="disk" MOUNTPOINT="/rom"
|
|
`
|
|
|
|
func main() {
|
|
loadConfig()
|
|
|
|
devices := getDevices()
|
|
parsedDevices := parseDevices(devices)
|
|
for _, device := range parsedDevices {
|
|
// if device starts with /dev/sd and ends with a number, it's a disk
|
|
fmt.Println("Name: " + device.Name)
|
|
|
|
}
|
|
}
|