Split the string using "!@" as the delimiter, then print a random integer between 0 and 10. Use the integer as an argument for the mv command to rename file{}.txt to file{}_copied.txt.
awk -F"!@" 'BEGIN {print int(rand()*10)}' | xargs -I {} mv file{}.txt file{}_copied.txt