In bash an useful statement to parse a file line-by-line is the while read loop. You can read two variables per line, using the equal sign as Input Field Separator. Inside the loop you can do whatever you want with the obtained variables, e.g.
Code:
#!/bin/bash
while IFS="=" read name value
do
echo name is $name
echo value is $value
done < file
Anyway, you may want to exclude some lines from the input (for example those ones with colons in your example). In that case you can feed the loop using
process substitution. Just think at a command to retrieve only the lines you want to read, e.g.
Code:
done < <(grep -v ':' file)
Hope this helps.