- 列数据的日志

时间:2014-07-22 13:32:48

标签: awk logarithm

我有一个如下所示的数据文件:

-1.98614
-1.99195
-2.28257
-2.09129
-2.08449
-2.0765
-2.0379
-2.25625
-2.04351
-2.09871
-2.17877 ...

我想获取每一行的-log(base 10)(awk命令)并将其放在一个新文件中。你能帮帮我吗?

2 个答案:

答案 0 :(得分:4)

数字x的反对数基数10是表达10^x的另一种方式。由于awk没有内置pow(x,y)来提升y的权力x,因此您需要在explog的帮助下重写它{1}}:

awk '{print exp($1*log(10));}' file

答案 1 :(得分:2)

您可以通过除以10的自然对数来计算小数对数。

awk '{print log(-$1)/log(10)}' file

会给你你想要的东西。