Aloha Osvaldo,
O dash é um binário menor que o bash, usa menos RAM e é bem mais rápido.
Como exemplo, um script meu de 28 linhas quando rodado em bash conclui suas
operações em 73 segundos. Já em dash, conclui em 44 segundos.
Como o bash apresenta dialetos, sintaxes de scripts que só ele entende,
Muito bom!
Não conhecia mesmo!
Vou pesquisar um pouco mais...
Na verdade, sou iniciante em Shell Script.
Comprei o livro do Aurelio, mas não estou tendo muito tempo de me
aprofundar!
Mesmo assim, sempre que posso to por aqui!
Obrigado pela dica!
2009/10/15 Kurt Kraut
>
>
> Aloha Osvaldo,
>
> O d
for old_name in `find ...` ; do
new_name=`echo old_name | tr [:upper:] [:lower:]`
mv -v "$old_name" "$new_name"
done
Nota: as aspas garantem o sucesso mesmo em arquivos com espaços.
> -Original Message-
> From: George Robinson
>
> É possivel alterar o case de um arquivo ou de varios
Isso é verdade.
Mas meu objetivo foi dá apenas um norte.
Esses tratamentos mais "avançados"... temos que sentar um pouco para pensar.
2009/10/15 Waldirio Manhães Pinheiro
>
>
> Boa
>
> Só um detalhe Kurt e Osvaldo, para arquivos com espaco no nome nao
> funciona,
> pois o shell reconhece como m
Boa
Só um detalhe Kurt e Osvaldo, para arquivos com espaco no nome nao funciona,
pois o shell reconhece como mais de um arquivo.
Altere a linha referente ao mv somente, incluindo o ""
#!/bin/dash
temporario=$(mktemp)
ls --ignore-backups --width=1 > $temporario
while read nome_antigo
do
nome_novo
Como falei era apenas uma ideia inicial.
As ideias subsequentes sao mais completas.
Gostaria de saber do Kurt Kraut a diferença entre o dash e o bash?
Nunca tinha ouvido falar sobre dash.
Para você mudar o nome do arquivo, independente de ser maisculo ou
minusculo, vc terá que realizar um teste:
i
Aloha,
Veja se minha abordagem te agrada:
#!/bin/dash
temporario=$(mktemp)
ls --ignore-backups --width=1 > $temporario
while read nome_antigo
do
nome_novo=$(echo $nome_antigo | tr [:upper:] [:lower:])
mv --interactive --verbose $nome_antigo $nome_novo
done < $temporario
echo "Operação concluída.
Ok Osvaldo,
Neste caso, ele vai alterar o case em todo o nome ou ele pode inverter
maiusculo por minusculo tbm?
Att,
2009/10/15 Osvaldo Filho
>
>
> Vc deve utilizar o comando "tr".
>
> Por exemplo,
>
> Vc pode criar uma especie de lista com todos os arquivos e varrer essa
> lista
> alterando o
Amigo
Para arquivos sem espaço funciona normalmente, para arquivos com espaço,
depois vejo com mais calma ;)
jeju:[xxx] > ls
ARQUIVO1 Arquivo2
jeju:[xxx] > for b in $(ls -1); do echo mv $b $(echo $b | tr '[A-Z]'
'[a-z]'); done
mv ARQUIVO1 arquivo1
mv Arquivo2 arquivo2
jeju:[xxx] > for b in $(l
Vc deve utilizar o comando "tr".
Por exemplo,
Vc pode criar uma especie de lista com todos os arquivos e varrer essa lista
alterando o case.
tipo:
for $arquivo in lista
do
tr A-Z a-z
done.
Apenas um esboço!
2009/10/15 George Robinson
>
>
> É possivel alterar o case de um arquivo ou d
10 matches
Mail list logo