The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Sed para grep apenas números em seqüência ajilesh Programação Shell Script e 5 11-07-2008 01:39
Como ordenar uma string com números ahjiefreak Programação Shell Script e 5 12-21-2007 10:52
Como Comparar ponto flutuante / números reais padarthy Programação Shell Script e 13 09-24-2007 09:03
Como faço para obter números de uma string? eliraza6 Programação Shell Script e 13 07-18-2007 08:04
problema com números em ponto flutuante awk kanagias Programação Shell Script e 7 06-24-2005 04:14

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-29-2009
tintin72 tintin72 is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 23
Usando flutuante números em seqüência

Caro Unix Gurus,

Tenho uma lista de arquivos que quero para cima .... por exemplo:
Código:
 
sl40_z11.70.txt
sl41_z11.40.txt
sl42_z11.10.txt
sl43_z10.80.txt
utilizando o script

Código:
 
#!/bin/sh
#
echo -n "....enter first Z-coordinate position....."; read zpos
q="scale=3; $zpos"
p=0.3
#
loopNumber=$[($lastslice - $firstslice)+1]
echo "loopNumber is $loopNumber"
echo firstslice no. is $firstslice
 
for ((i=$firstslice; i<=$loopNumber; i++)); do 
n=$[i]
for ((k=0; k<=$loopNumber; k++)); do 
r=$[k] ; f=$r*$p ; zposition=$q-$f 
 
echo "sl$[n]_z$[zposition].txt"
 
done
done
onde firstslice é de 40 e lastslice é de 43 e 0,3 é a diferença em z-cordinate btw os arquivos.

O meu problema é que o script funciona perfeitamente com a ressalva de que não reconhece bash $ zposition. Ela aparentemente não pode lidar com iteração flutuante números? Alguém pode ajudar?

Felicidades
  #2 (permalink)  
Old 06-29-2009
jayan_jay jayan_jay is offline
Usuário
  
 

Join Date: Jul 2008
Localização: Chennai
Lugares: 40
Tente isto e mudam de acordo com ur variáveis.

echo "escala \u003d 4; $ b + $ c" | bc
  #3 (permalink)  
Old 06-29-2009
tintin72 tintin72 is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 23
Citação:
Originally Posted by jayan_jay View Post
Tente isto e mudam de acordo com ur variáveis.

echo "escala \u003d 4; $ b + $ c" | bc
Não tenho certeza eu entendo você. Fazendo
Código:
echo "$zposition" |bc
retorna a saída correta. Mas fazer
Código:
echo "sl$[n]_z$[zposition].txt"
não. Este é o meu problema.
  #4 (permalink)  
Old 06-29-2009
jayan_jay jayan_jay is offline
Usuário
  
 

Join Date: Jul 2008
Localização: Chennai
Lugares: 40
Tente este
echo "$ (n) sl _z $) (zposition. txt"
  #5 (permalink)  
Old 07-01-2009
tintin72 tintin72 is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 23
Citação:
Originally Posted by jayan_jay View Post
Tente este
echo "$ (n) sl _z $) (zposition. txt"
não funciona. Eu só posso pedir .. você realmente experimentar suas sugestões bufore sugerindo-lhes que o fórum?
  #6 (permalink)  
Old 07-01-2009
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderador
  
 

Join Data: dezembro 2003
Localização: Florida
Mensagens: 1.930
Humm, eu olhei para este script algumas vezes e arranhado minha cabeça.

Você definir a variável 'q' de uma string
Código:
q="scale=3; $zpos"
Ainda que você espera para poder subtrair um número a partir dele
Código:
zposition=$q-$f
Como é que isto significa para o trabalho?

Última edição por fpmurphy; em 07/01/2009 09:12.. Motivo: typo fixo
  #7 (permalink)  
Old 07-06-2009
tintin72 tintin72 is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 23
Citação:
Originally Posted by fpmurphy View Post
Humm, eu olhei para este script algumas vezes e arranhado minha cabeça.

Você definir a variável 'q' de uma string
Código:
q="scale=3; $zpos"
Ainda que você espera para poder subtrair um número a partir dele
Código:
zposition=$q-$f
Como é que isto significa para o trabalho?
Oi,

Eu revisitado ela arranhou minha cabeça e muito bem! Há um erro no script ... se firstslice é maior que lastslice não vai funcionar. Então eu procurei um rumo diferente usando awk.

como um lembrete, este é o que quero fazer, tenho uma lista de arquivos:

Código:
 
sl40_z11.70.txt
sl41_z11.40.txt
sl42_z11.10.txt
sl43_z10.80.txt
Quero circuito esses arquivos mantendo intacta sua rotulagem. Por exemplo, eu quero fazer em um único script

Código:
cp sl40_z11.70.txt sl40_z11.70.dat
cp sl41_z11.40.txt sl41_z11.40.dat
cp sl42_z11.10.txt sl42_z11.10.dat
cp sl43_z10.80.txt sl43_z10.80.dat
Tenho centenas destes arquivos e eu preciso para realizar outras operações não trivial sobre eles. Problema é bash não reconhece flutuante números de modo que não posso para cima deles.

meu novo script é:

Código:
 
#!/bin/sh
#
echo -n "....enter first slice number....."; read firstslice
echo -n "....enter last slice number....."; read lastslice
#
echo -n "....enter first Z-coordinate position....."; read zpos
#sliceDiff=0.3
#
loopNumber=$[($lastslice - $firstslice)+1]
echo "loopNumber is $loopNumber"
echo firstslice no. is $firstslice
for ((k=$firstslice;k<=$lastslice; k++)); do 
r=$[k]
echo "$firstslice $r $zpos" | awk '{print $3-(($2-$1)*0.3)}'
#echo "$firstslice $r $zpos" | awk '{print $i}' sl$2_z[$3-(($2-$1)*0.3)].txt > xxxx.dat
done
Então executando esse script e digitar no prompt "40", "43", "11,70"
loops durante os 4 arquivos agradàvel. Mas eu não sei como a incorporar a saída para a última linha do script awk de modo a que reconhece o nome do arquivo.

Qualquer ajuda seria muito apreciada.

Felicidades
Reply

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:34.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0