I have following types of strigs. Each of them are part of a large string. 

1. `...... UUID: a062832a; UID: Z6IxbK9; UUID: null; ......`
2. `...... UUID: a062832a; UID: Z6IxbK9; ......`
3. `...... UID: Z6IxbK9; UUID: null; ......`

I want to extract the value associated with UID, i.e `Z6IxbK9`. Right now Im using following expression to extract it.

```
value=`echo $line | grep -o '\<UID.*\>' | awk -F\; '{ print $1 }' | cut -d: -f2 | tr -d ' '`

```

I feel this not the efficient way of doing this. I'm invoing four different commands which is slowing down the processing of a big file.

Can anyone suggest a better solution.