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

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

RES: RES: [shell-script] Trocar nome de arquivos acentuados


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: RES: [shell-script] Trocar nome de arquivos acentuados
Date: Tue, 17 Dec 2002 14:31:03 -0300

Olá Charles,
não entendi bem o que vc falou sobre os homônimos. No script, qdo tirei os
acentos, antes de renomear o arquivo, verifiquei se já existia um arquivo
com aquele nome, e só renomeei se o arquivo com o nome recém gerado, fosse
mais novo que o homônimo.

Eu havia entendido que eram arquivos do mesmo diretório. Como estes arquivos
se encontram tb em subdiretórios, substitua a linha do for pela seguinte:

for ComAcen in `ls -R | grep '[áéíóúÁÉ...]'`

e passe o diretório mais alto da árvore como parâmetro. Observe que se vc
não passar parâmetro, o diretório escolhido será o corrente.

[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> -----Mensagem original-----
> De: charleslinux [mailto:address@hidden]
> Enviada em: terça-feira, 17 de dezembro de 2002 14:10
> Para: address@hidden
> Assunto: Re: RES: [shell-script] Trocar nome de arquivos acentuados
> 
> 
> Julio, obrigado pelo retorno, mas o script não funcionou bem. Acho 
> que era a parte referente ao homonimo, pois comentei esta parte e 
> funcionou legal, agora só preciso aplicar isso várias vezes porque 
> dentro do diretório que passarei como parâmetro existem outros 
> doretórios com mais arquivos .HTM para serem renomeados.
> 
> Obrigado!
> 
> Charles Silveira.
> 
> 
> --- Em shell-script@y..., Julio Cezar Neves - DATAPREVRJ 
> <Julio.Neves@r...> escreveu
> > Olá Charles,
> > para os nomes vc tb pode usar o tr.
> > 
> > #!/bin/sh
> > #
> > # Testando se vc passou o diretorio como parametro
> > # default = diretorio corrente.
> > #
> > 
> > if  [ $# -eq 1 ]
> > then
> >     Dir=$1
> > else
> >     Dir="."
> > fi
> > cd $Dir
> > 
> > for ComAcen in `ls | grep '[áéíóúÁÉ...]'`
> > do
> >     SemAcen=`echo $ComAcen | tr "[áéí...]" "[aei...]"`
> >     if  [ -f "$SemAcen" ] # Existe arquivo homonimo?
> >     then
> > # listando os 2 em ordem cronologica (-t) e
> > # pegando o + novo (head -1). Se o que acabamos de tirar
> > # os acentos for mais novo, será renomeado.
> >         [ `ls -t $ComAcen $SemAcen | head -1` -eq $ComAcen ] && mv -
> f
> > $ComAcen $SemAcen
> >     fi
> > done
> > 
> > Obs1 - Não tive saco de escrever todos os caracteres acentuados e
> > substituí-os por ... . Para ficar legal vc precisa escrever todos.
> > Obs2 - Este programa não foi testado.
> > [ ]s,
> > Julio Cezar Neves
> > -Eu Apoio o Software Livre-
> > -I Support Free Software-
> > * +55 21 2528-7070  /  9853-4044
> > *julio.neves@r...
> > 
> > 
> > > -----Mensagem original-----
> > > De: charleslinux [mailto:charleslinux@y...]
> > > Enviada em: terça-feira, 17 de dezembro de 2002 09:21
> > > Para: shell-script@y...
> > > Assunto: [shell-script] Trocar nome de arquivos acentuados
> > > 
> > > 
> > > Alguém pode dar uma dica de script para remover caracteres 
> > > acentudados do nome de arquivos .HTM que estão espalahdos em uma 
> > > árvore grande de diretórios? Para mudar dentro dos arquivos já 
> estou 
> > > providenciando com SED, mas preciso também substituir caracteres 
> > > acentuados pelo equivalente não acentuado no nome dos arquivos.
> > > 
> > > Se alguém puder ajudar!
> > > 
> > > Charles Silveira.
> > > 
> > > 
> > > 
> > > ------------------------------------------------------------------
> ---
> > > 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: shell-script-unsubscribe@y...
> > > ------------------------------------------------------------------
> ---
> > > Esta lista é moderada de acordo com o previsto em 
> > http://www.listasdiscussao.cjb.net
> > --------------------------------------------------------------------
> -
> >  
> > 
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> > http://br.yahoo.com/info/utos.html
> 
> 
> 
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

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