Archivo de texto de análisis maravilloso

Tengo un registro de archivos que me gustaría analizar y tengo algunos problemas. Al principio parecía que sería simple. Seguiré publicando la fuente que se me ocurrió y luego explicaré lo que estoy tratando de hacer.

El archivo que intento analizar contiene estos datos:

HDD Device 0 : /dev/sda
HDD Model ID  : ST3160815A
HDD Serial No : 5RA020QY
HDD Revision  : 3.AAA
HDD Size     : 152628 MB
Interface    : IDE/ATA
Temperature         : 33 C
Health  : 100%
Performance  : 70%
Power on Time : 27 days, 13 hours
Est. Lifetime : more than 1000 days

HDD Device 1 : /dev/sdb
HDD Model ID  : TOSHIBA MK1237GSX
HDD Serial No : 97LVF9MHS
HDD Revision  : DL130M
HDD Size     : 114473 MB
Interface    : S-ATA
Temperature  : 30 C
Health  : 100%
Performance  : 100%
Power on Time : 38 days, 11 hours
Est. Lifetime : more than 1000 days

Mi código fuente (abajo) básicamente divide el archivo línea por línea y luego divide la línea en dos (clave: valor).

Fuente:

def dataList = [:]
def theInfoName = "C:\\testdata.txt"

File theInfoFile = new File(theInfoName)

def words
def key
def value

if (!theInfoFile.exists()) {
     println "File does not exist"

} else {

 theInfoFile.eachLine { line ->

 if (line.trim().size() == 0) {
  return null

 } else {

  words = line.split("\t: ")
  key=words[0] 
  value=words[1]
  dataList[key]=value

  println "${words[0]}=${words[1]}"
  }

 }
 println "$dataList.Performance"  //test if Performance has over-written the previous Performance value
}

El problema con mi fuente es que cuando uso mis captadores (como $ dataList.Performance) solo muestra el último en el archivo en lugar de dos.

Entonces me pregunto, ¿cómo analizo el archivo para que mantenga la información de ambos discos duros? ¿Hay alguna manera de empaquetar la información en un 'objeto de disco duro'?

Cualquier ayuda es apreciada

Algunas notas al margen:

El archivo está en una máquina con Windows (aunque la información se toma de un sistema nix)

El archivo de texto está dividido por una pestaña, dos puntos y un espacio (como se muestra en mi código fuente) solo pensé que lo diría porque no se ve así en esta página.

Respuestas a la pregunta(2)

Su respuesta a la pregunta