Это сделает это:
find . -name '??.txt.gz' | sed -e 's/..\(.\)\(.*\)/mv \1\2 \10\2/' > /tmp/cmds
sh /tmp/cmds
Команда find
получает список файлов, которые необходимо переименовать. Команда sed
создает список команд mv
, которые позволяют делать то, что вы хотите. Они записываются в файл, а затем выполняются как сценарий оболочки.
Я уверен, что есть способ сделать это как однострочник, но мне лень.