Como @roaima mencionou, você não precisa primeiro remover os arquivos; ao mover os arquivos, você sobrescreverá automaticamente os arquivos antigos.
Uma abordagem para isso é usar um loop for no bash:
for f in *.jpg.txt; do mv $f ${f/%.jpg.txt/.txt}; done
Deixe-me explicar:
-
for f in *.jpg.txt; do <command>; done: execute o comando em cada arquivo de*.jpg.txt. Enquanto a execução do nome do arquivo é armazenada na variávelf. -
${f/%.jpg.txt/.txt}: O valor de$f, mas a última ocorrência de.jpg.txtfoi substituída por.txt. Consulte o link para obter mais exemplos disso. -
mv $f ${f/%.jpg.txt/.txt}: faça a renomeação do arquivo antigo para o novo nome de arquivo sem o.jpg.
Antes de executar este código, você pode assegurar-se de que será correto executar
for f in *.jpg.txt; do echo $f ${f/%.jpg.txt/.txt}; done
Isso imprimirá os pares de arquivos que serão movidos.