shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: script que substitui espaços


From: Leonardo Vieira
Subject: Re: script que substitui espaços
Date: Thu, 03 Mar 2005 13:53:25 -0000
User-agent: eGroups-EW/0.82

Valew galera, realmente era para renomear somente os arquivos de um 
determinado diretório e não de toda a sua raiz.

--- Em address@hidden, Gustavo Chaves <gustavo@c...> 
escreveu
> >>>>> On Wed, 2 Mar 2005 20:04:39 -0300, Andreyev Dias de Melo 
<andreyevbr@g...> said:
> 
>   > Como sempre, TIMTOWTDI:
>   > $ find $diretorio -type f -name \*.old | while read LINE ; do mv
>   > "${LINE}" "${LINE//\ /_}"; done
> 
> Um problema é que o mv provavelmente não está sendo chamado no mesmo
> $diretorio.  Mais correto seria:
> 
>         mv "$diretorio/${LINE}" "$diretorio/${LINE//\ /_}"
> 
> Outro detalhe é que o find vai buscar arquivos em subdiretórios.  A
> especificação original do problema não era clara, mas eu entendi que
> seria apenas para os arquivos do mesmo diretório.  Dá pra resolver
> isso com opções -maxdepth (ser for o find do GNU) ou -prune.
> 
> Na minha versão eu compliquei o glob usando "*\ *.old" ao invés de
> "*.old" pra só chamar o mv para os arquivos que contêm espaços.  É
> claro que chamando-o para os que não contém não muda o nome, mas 
pode
> criar muitos processos desnecessariamente.
> 
> Gustavo.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]