对文本文件中的列进行算术运算

对文本文件中的列进行算术运算

我有一个由两列组成的数据文件。我需要对这些列执行如下算术运算;

column_1=a(i) column_2=b(i),其中i是行号。

计算:

结果_1=a(1)*100/b(1)

结果_2=a(2)*100/b(2)

然后我需要将所有结果写入另一个由列组成的文本文件。我尝试了以下代码,但所有值看起来都是 Inf。

nawk -F, '{print $1*100/$2}' data > results

答案1

以下是您所说的有效代码,如评论中所述

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

您还在评论中提到,输出中的最后两行看起来像

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

您的文件可能包含两行空格或不可打印字符。运行cat -nA input.txt以打印带有行号的文件并显示隐藏字符

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

但总的来说,这个次要问题超出了你最初提出的问题的范围

相关内容