Aê Rafael, uma solução *muito pouco* ortodoxa... ;) Antigos=$(find /home/dados -name "* *" -o -name '*\*') # Arqs com \ e branco no nome Novos=$(tr -s ' \\' '__' <<<"$Antigos") # compacta \ e branco e transforma em _ paste <(echo "$Antigos") <(echo "$Novos") | xargs -tL1 mv
Neste último cmd o paste junta as linhas das 2 variáveis criadas. O xargs pega a saída linha-a-linha (-L1) e coloca atrás (epa!) do mv. A opção -t do xarqs é só para mostrar o que ele está fazendo. -- Abraços, Julio *Em setembro estarei dando um treinamento Shell em Brasília (em 2 fins de semana). Mais informações: www.tecnologiabr.com.br Tel: (61) 3354-3162 * 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] > > > -- Abraços, Julio Em setembro estarei dando um treinamento Shell em Brasília (em 2 fins de semana). Mais informações: www.tecnologiabr.com.br Tel: (61) 3354-3162 [As partes desta mensagem que não continham texto foram removidas]
