The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
perl: armazenando regex array variáveis em apuros xist Programação Shell Script e 3 08-29-2008 09:07
armazenamento de variáveis em array.Please ajudar nua7 Programação Shell Script e 7 07-17-2008 10:47
Armazenar ponteiro array em C arunkumar_mca UNIX para Dummies Perguntas & Respostas 1 08-23-2007 09:49
Contagem N º de registros em arquivo, sem contar Header e Trailer Records guiguy Programação Shell Script e 2 06-07-2007 01:15
Como base de dados registos em um array rawat_me01 Programação Shell Script e 2 05-07-2007 01:09

Closed Thread
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 01-05-2009
npatwardhan npatwardhan is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 135
armazenar registros em awk array

oi eu tenho um arquivo da seguinte forma:

Código:
1
2
3
4
5
6
Quero guardar todos esses números em um array usando awk .. até agora eu tenho:

Código:
awk '{for(i=1;i<=NR;i++) {a[i]=$1}} END {for(i=1;i<=NR;i++) {printf("%1.11f",a[i])}}' 1.csv > test
No entanto, estou recebendo todos os valores como zero no "teste" arquivo ..
apreciar qualquer ajuda.
  #2 (permalink)  
Old 01-05-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361

Código:
awk '
{ a[NR]=$1 }
 END { for(i=1;i<=NR;i++) printf "%1.11f\n", a[i] }
' 1.csv > test
Claro, se você só deseja formatar o arquivo:

Código:
awk '{ printf "%1.11f\n", $1 }' 1.csv > test
  #3 (permalink)  
Old 01-05-2009
npatwardhan npatwardhan is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 135
ok graças que funcionou ..
aqui está o que eu quero fazer a seguir. Eu tenho esse arquivo chamado teste que tem valores como segue:

Código:
1
2
3
4
5
6
7
Tenho outro arquivo chamado dados com vários campos e registros da seguinte forma:
(existem mais colunas, mas que se segue é apenas um instantâneo do arquivo)

Código:
col1  col2
1       1.4
2       1.6
3       1.7
4       1.8
5       1.9
6       2.0
Eu gostaria de obter um ficheiro com as entradas da seguinte forma: (i am subtraindo cada linha do ficheiro de dados para a primeira coluna da primeira entrada da primeira fila na prova arquivo)

Código:
col1         col2
1-1         1.4-2
2-1         1.6-2
3-1         1.7-2
4-1         1.8-2
5-1         1.9-2
6-1         2.0-2
até agora eu estava tentando algo neste sentido:

Código:
awk 'NR==FNR{for(i=1;i<=NF;i++) {a[NR]=$i;next} {b[NR]=$i;next} END {for(i=1;i<=NF;i++) {printf("%1.11f, %1.11f\n",a[i],b[i])}}' test data > try
Estou tentando salvar todas as linhas do arquivo teste em um array (um). Como faço para salvar o col1 e col2 valores a partir do arquivo de dados em uma matriz e então usá-lo para subtrair valores de array (a)? Quero manter o awk.
obrigado
  #4 (permalink)  
Old 01-05-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2005
Localização: Boston, MA
Mensagens: 5.122
I pensar isso é o que quiser, mas não 100% de certeza:
Código:
awk 'NR==FNR{
           a[NR]=$i
           next
       }
       {
           for(i=1;i<=NF;i++) 
              printf("%1.11f%c", $i - a[FNR], (i==NF) ? ORS : OFS)
        }
' test data
Closed Thread

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 04:01.


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