[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
---------------------------------------------------------------------