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

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

renomear arquivos


From: Henrique Limaverde Cabral de Lima
Subject: renomear arquivos
Date: Tue, 24 Oct 2000 17:22:57 -0200 (EDT)

Oi turma,
   estou querendo renomear arquivos de forma que:
+ espacos em branco sejam removidos e
+ cada palavra do nome seja escrita com a primeira letra maiuscula e as
  demais em minusculo

Por ex:

TUDO MAIUSCULO.txt
tudo minusculo.txt
tUDo dOiDo.txt
varias VARIAS varias palaVRAS.txt

Deve ficar:

TudoMaiusculo.txt
TudoMinusculo.txt
TudoDoido.txt
VariasVariasVariasPalavras.txt

Para isso, a ideia eh ler a entrada do ls e gerar um arquivo que contem um
comando mv para cada arquivo. Na verdade eu consegui fazer com awk. Nao vi
uma maneira de faze-lo em sed. Estou pedindo sugestoes (sed, awk, etc) 
pois acho que pode existir uma maneira mais elegante...

Eis o codigo:

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-
ls -d *.txt | awk '
BEGIN {
   FS="\\ "
   OFS=""
}
{
   printf "mv \"%s\" ", $0
   for (i=1; i<NF; i++) {
      prim=substr($i,1,1)
      resto=substr($i,2)
      $i=toupper(prim) tolower(resto)
   }
   printf "\"%s\"\n", $0
}' > temp$$
-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-

   Obrigado

            Henrique Lima
---------------------------------------------------------------------




reply via email to

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