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

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

Re: [shell-script] Problemas com a interpretação de "$"


From: Vinicius Xavier
Subject: Re: [shell-script] Problemas com a interpretação de "$"
Date: Thu, 4 Nov 2010 08:33:46 -0700 (PDT)

Olá Paulo,
 
Fiz o comando igual ofr igual ao que vc postou, e deu certo.
 
 
 ~ $ echo $conteudo
4444 5555 6666 7777

 ~ $ for item in $conteudo ; do echo newtask_CMOST8o_Paulo_o$item.log; done
newtask_CMOST8o_Paulo_o4444.log
newtask_CMOST8o_Paulo_o5555.log
newtask_CMOST8o_Paulo_o6666.log
newtask_CMOST8o_Paulo_o7777.log

Pode passar mais detalhes? Pode dar um echo na variável e mostra como está?
 
Abs,
Vinícius Xavier

--- Em qui, 4/11/10, Paulo Soares Drumond <address@hidden> escreveu:


De: Paulo Soares Drumond <address@hidden>
Assunto: [shell-script] Problemas com a interpretação de "$"
Para: "Lista de discussão sobre Shell Script" <address@hidden>
Data: Quinta-feira, 4 de Novembro de 2010, 12:58


  



Olá,

Participo pouco da lista e hoje me deparei com um problema que deve
ter solução simples mas que não consegui resolver das maneiras que
tentei.

Tenho uma quantidade enorme de arquivos gigantescos num diretório e
preciso apagar a maioria deles. Filtrei aqueles que preciso manter e
agora precisarei apagar todos os demais e aí começou meu problema.

Os arquivos são nomeados da seguinte forma: newtask_CMOST80_Paulo_09999.XXX
sendo:
- 9999 um número entre 0 e 5446;
- XXX uma das seguintes extensões: log, dat, out, irf, mrf.

Coloquei na variável "conteudo" a lista dos números dos arquivos que
preciso manter, mas quando comecei a esboçar algo esbarrei no seguinte
problema:
for item in $conteudo; do echo newtask_CMOST80_Paulo_0$item.log; done

Eu esperava que ele retornasse algo como:
newtask_CMOST80_Paulo_09999.log

Mas ele retorna uma lista de strings mais ou menos assim:
.logask_CMOST80_Paulo_09999

onde 9999 é o número do arquivo.

Se eu substituo ".log" por ".*" ele faz a mesma substituição na saída.

Já tentei colocar o \, ", `, ', {} e nada resolveu o problema.
Pensando que o problema era do echo, alterei o comando para ls e o
mesmo aconteceu.

O que estaria faltando para que apareçam corretamente os nomes dos arquivos?

Paulo
http://homens-ibcc.blogspot.com
http://www.twitter.com/psdrumond

"E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e
buscar a minha face e se converter dos seus maus caminhos, então eu
ouvirei dos céus, e perdoarei os seus pecados, e sararei a sua terra."
(II Crônicas 7:14)









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



reply via email to

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