Cut the file /tmp/file.txt using the delimiter ';' and select fields 1, 3, 4 and 5. Then search for strings that match the pattern '$([0-9.]+)' and finally sort the output in a unique way.
cut -d \; -f 1,3-5 /tmp/file.txt | grep '\$([0-9.]\+)' | sort -u