我有一个由两列组成的数据文件。我需要对这些列执行如下算术运算;
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
但总的来说,这个次要问题超出了你最初提出的问题的范围