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

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

Re:[shell-script] Nome de arquivos


From: MrBiTs
Subject: Re:[shell-script] Nome de arquivos
Date: Mon, 6 Dec 2004 06:14:41 -0300

> Fala galera esperta!
> Tenho o seguinte shell script:
> 
> for files in *; do
> newNome=`echo $files | tr -d ' '`
> mv $files $newNome
> done
> 
> o objetivo é retirar os espaços dos nomes de arquivos, entretanto, não
> funfa.
> se eu for no console e digitar:
> 
> $NomeFreak="bad bad server... no fucking donut for you"
> $echo $NomeFreak | tr -d ' '
> badbadserver...nofuckingdonutforyou
> 
> obviamente que se eu fizesse um
> $mv paz.txt $NomeFreak
> 
> ele ira mudar paz.txt para badbadserver...nofuckingdonutforyou,
> contudo a técnica não funciona dentro do script. Alguem pode me dar
> uma mão?
> 
Ola, Daniel
Veja isso:

[root(frodo)lixo]# for files in * ; do newnome=`echo $files | tr -d ' '`; mv 
$files $newnome;done
mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more information.

Como $files ai contem espacos, o mv acha que vc esta movendo varios arquivos. 
Entao, é simples: proteja $files, colocando-o entre aspas duplas:

ls -1t
Esse arquivo e meu e eu dou para ele o nome que eu quiser
The quick brown fox jumps over the lazy dog

for files in * ; do newnome=`echo $files | tr -d ' '`; mv "$files" $newnome;done

ls -1t
Essearquivoemeueeudouparaeleonomequeeuquiser
Thequickbrownfoxjumpsoverthelazydog


[]´s


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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