Re: [shell-script] soma-com-awk!

2006-11-28 Por tôpico Julio C. Neves
Fala Roberto, se soubermos previamente a qtd de colunas (e passando esta qtd como parâmetro), creio que para fazer o pretendido sem usar awk e sed, o melhor seria: for ((i=1; i<=$1; i++)); { echo Soma da coluna $i = $(cut -f$i -d" " num | paste -sd+ | bc); } Que tb é um one-liner. Para somar lin

Re: [shell-script] soma-com-awk!

2006-11-28 Por tôpico Ricardo Acosta
Roberto, obrigado pela dica! No entanto esta solução seria semelhante a que apresentei com o AWK! nao escaparia do problema de ter que especificar todas as colunas do meu arquivo! fiz o seguinte comentário na msg inicial: >sei fazer desta forma, mas a medida que o numero de coluna aumenta. >tor

Re: [shell-script] soma-com-awk!

2006-11-28 Por tôpico Roberto Alves
Ricardo, eu tenho um script que usei um truque que o Julio nos ensinou mas é para arquivos onde o numero de colunas é fixo. Mas sei que voce pode mudar se quebrar um pouco a cabeça. É mais ou menos assim: while : read COL1 COL2 COL3 do COLUNA1=$(( "$COLUNA1" + "$COL1

Re: [shell-script] soma-com-awk!

2006-11-27 Por tôpico Tiago Barcellos Peczenyj
ola. Estranho, na versão aqui em casa funcionou, talvez seja a versão do gawk. Em todo o caso esta forma deve ser mais eficiente do que fazer um if a cada iteração: function sizeof(a) { c=0; for(e in a) c++; return(c) } Outra forma é deixar que o comando sort 'arrume' a saida, mas obrigado pelo

Re: [shell-script] soma-com-awk!

2006-11-27 Por tôpico Ricardo Acosta
Valeu a dica! funcionou perfeitamente! []s acosta 2006/11/27, edjunior <[EMAIL PROTECTED]>: > hey, > > tiago, achei seu script bem interessante, porém encontrei um pequeno > problema quando tentei executá-lo. Não tenho certeza disso, mas creio > que a função de 'length' não funciona corretamente

Re: [shell-script] soma-com-awk!

2006-11-27 Por tôpico edjunior
hey, tiago, achei seu script bem interessante, porém encontrei um pequeno problema quando tentei executá-lo. Não tenho certeza disso, mas creio que a função de 'length' não funciona corretamente pra array, retornando um determinado erro ("... fatal: attempt to use array `soma' in a scalar context"

Re: [shell-script] soma-com-awk!

2006-11-27 Por tôpico Tiago Barcellos Peczenyj
Sim, a melhor opção é fazer, em awk, usando vetores. Em awk, uma variavel criada tem valor 0. Matrizes são criadas dinamicamente, e vc pode adicionar novas posições em qq momento. ex: a[1] = 10 a[134723984] = 90 a["xxx"] = -1 Veja só como ficaria awk '{ split($0,dados) for(i in dados){

[shell-script] soma-com-awk!

2006-11-27 Por tôpico Ricardo Acosta
Ola Camaradas, bom dia! como fazer pra somar colunas com o awk. sem ter q declarar coluna por coluna! teria como fazer uma matriz indexada? vejam o exemplo ... [EMAIL PROTECTED]: ~$ cat dados.dat COL1COL2COL3COL4 000100110111 0002001201121112 00030013