Como você vai renomear os diretórios sob find
, diga-o para agir sobre o conteúdo de um diretório antes do próprio diretório, com -depth
. Por outro lado, fazer diretórios separadamente dos arquivos regulares não ajuda.
Para renomear um arquivo com as ferramentas disponíveis em uma instalação padrão do CentOS, você pode usar um shell e mv
. Tome cuidado para alterar apenas o nome base, não o nome do diretório (já que o novo diretório ainda não existe).
find . -depth -exec bash -c '
for filename do
basename=${filename##*/}
mv "$filename" "${filename%/*}/${basename// /-}"
done
' _ {} +