Você poderia cd
para o diretório em questão e executar algo semelhante a isto:
find -L . -type f -name "*.oldextension" -print0 | while IFS= read -r -d '' FNAME; do
mv -- "$FNAME" "${FNAME%.oldextension}.newextension"
done
Ou se os arquivos não tiverem nenhuma extensão:
find -L . -type f -print0 | while IFS= read -r -d '' FNAME; do
mv -- "$FNAME" "${FNAME%}.newextension"
done
No seu caso, você teria que substituir newextension
por txt
.
Alguém mais proficiente com o bash pode ser capaz de quebrar isso melhor. Por favor, sinta-se à vontade para editar a minha resposta nesse caso.
Descrição original:
% bl0ck_qu0te%Fonte:
Bash renomear extensão recursiva - stackoverflow , respondida por aps2012 .