[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Re: script que substitui espaços
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Re: script que substitui espaços |
Date: |
Thu, 3 Mar 2005 15:21:45 -0300 |
if [ -f *\ * ]
then
for i in *\ *.xml; do
n=`echo "$i" | tr ' ' _`
mv "$i" "$n"
done
fi
|
| Mesmo que não exista nenhum arquivo com espaço no nome ele entra no
| loop e tenta fazer o mv, gerando assim uma mensagem de erro.
|
| Como fazer para que entre no loop, somente se existir algum arquivo
| com espaço no nome.
|
| Att.
|
| leonardo Vieira
|
|
| --- Em address@hidden, "Leonardo Vieira"
| <leonardoflavieira@y...> escreveu
| >
| > 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.
|
|
|
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Re: script que substitui espaços,
Julio Cezar Neves - DATAPREVRJ <=