# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/;\K(\s*.*?)(\s*\S+)$/\2\1/gm;t' <<< "CEyYBUoAfhL.txt; \"CEyYBUoAfhL-MI2.jpg\" \"CEyYBUoAfhL-MI3.jpg\" \"CEyYBUoAfhL-MI4.jpg\" \"CEyYBUoAfhL-MI5.jpg\" \"CEyYBUoAfhL-MI6.jpg\" \"CEyYBUoAfhL.jpg\"
CEyYBUoAfhL.txt; \"CEyYBUoAfhL-MI2.jpg\" \"CEyYBUoAfhL-MI3.jpg\" \"CEyYBUoAfhL.jpg\"
CAjaBo1AL-9.txt; \"CAjaBo1AL-9-MI2.jpg\" \"CAjaBo1AL-9-MI3.jpg\" \"CAjaBo1AL-9-MI4.jpg\" \"CAjaBo1AL-9.jpg\""
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html