This command will take the file named filename.txt and separate each line by the semicolon (;) character. It will then print the first field of each line and a random number between 0 and 100, and sort the output by the second field (the random number).
`awk -F";" 'BEGIN{srand()}{print $1,rand()*100}' filename.txt | sort -k 2n`