Faltou um detalhe no laço. No caso do espaço, o find vai separar os arquivos que tem espaço, logo, o $i ficará errado Então, altere o IFS, conforme abaixo:
IFS=" " for i in `find -iname "* *.*"` do novo_nome=`tr " " "_" <<< $i` done 2008/7/23 César Vianna <[EMAIL PROTECTED]>: > Opa... vou listar os comandos necessários.. depois dá uma tentada e manda > as dúvidas... acho que assim a lista pode te auxiliar melhor. > > Renomear - mv > Trocar caracter - tr > Buscar - find (opção -r para recursivo) > > Podes colocar dentro de um laço > > Ex. > > for i in `find -iname "* *.*"` > do > novo_nome=`tr " " "_" <<< $i` > done > > > É por aí... > > > > > > > 2008/7/23 Rafael Tomelin <[EMAIL PROTECTED]>: > > Olá pessoal, >> >> Gostaria de ver com vocês, como que faço um script que busca dentro de um >> determinado diretório "/home/dados" e sub-diretórios >> "/home/dados/contabilidade", *arquivos* que contenham espaço no nome ou >> "\". Ex.: "contabilidade discal" ou "contabilidade\patrimonial" ou >> "contabilidade\sei lah \ o que". >> >> E alterar-se essas caracteres por "_". >> >> [As partes desta mensagem que não continham texto foram removidas] >> >> >> > > > > -- > César Vianna > ------------------- > "Talvez porque eu pense demais ou sonhe demais, o certo é que não distingo > entre a realidade que existe e o sonho, que é a realidade que não existe." > Fernando Pessoa > -- César Vianna ------------------- "Talvez porque eu pense demais ou sonhe demais, o certo é que não distingo entre a realidade que existe e o sonho, que é a realidade que não existe." Fernando Pessoa [As partes desta mensagem que não continham texto foram removidas]