I have thousands of files I want to rename.

Each file name has one of the following structures :

* aa - bb.txt
* aa - bb - cc.txt
* aa - bb - cc - dd.txt
* aa - bb - cc - dd - ee.txt

With [aa], [bb], [cc], [dd] and [ee] changing among files, and varying in length.

I would like to have the last element before `.txt` (the file name consists of multiple special characters `-`) at the beginning.

For the examples above, this would result in:

* bb - aa.txt
* cc - aa - bb.txt
* dd - aa - bb - cc.txt
* ee - aa - bb - cc - dd.txt

How could I do this using a Bash command?