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

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

Re: [shell-script] script que substitui espaços


From: Gustavo Chaves
Subject: Re: [shell-script] script que substitui espaços
Date: 02 Mar 2005 23:38:20 -0300
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

>>>>> On Wed, 2 Mar 2005 20:04:39 -0300, Andreyev Dias de Melo <address@hidden> 
>>>>> 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]