operação aritmética com colunas no arquivo de texto [closed]

-2

Eu tenho um arquivo de dados que consiste em duas colunas. Preciso realizar operações aritméticas com estas colunas da seguinte forma:

column_1 = a (i) coluna_2 = b (i), onde i é o número da linha.

Cálculos:

result_1 = a (1) * 100 / b (1)

result_2 = a (2) * 100 / b (2)

Depois, preciso gravar todos os resultados em outro arquivo de texto, consistindo em colunas. Eu tentei códigos abaixo, mas todos os valores parecem Inf.

nawk -F, '{print $1*100/$2}' data > results
    
por deepblue_86 19.12.2015 / 11:01

1 resposta

1

Aqui está o código que você disse funciona, como discutido nos comentários

xieerqi:
$ awk '{ print "a="$1" b="$2" result="($1*100)/$2   }' input.txt               
a=100 b=150 result=66.6667
a=200 b=2500 result=8

xieerqi:
$ cat inpu
input-10-       input.txt       inputData.txt   inputFile.txt   
$ cat input.txt                                                                
100 150
200 2500

Você também mencionou nos comentários que as duas últimas linhas da saída se parecem com

a= b= result=-nan 
a= b= result=-nan

Existe a possibilidade de o seu arquivo conter duas linhas extras com espaços ou caracteres não imprimíveis. Execute cat -nA input.txt para imprimir o arquivo com números de linha e mostrar caracteres ocultos

$ cat -nA input.txt                                                            
     1  100 150$
     2  200 2500

Mas, no geral, essa questão secundária está além do escopo do que você pediu originalmente

    
por Sergiy Kolodyazhnyy 19.12.2015 / 12:35