【发布时间】:2021-01-27 17:10:26
【问题描述】:
我有一个 10 列的文本文件,我需要对其进行一些数学处理。 例如,当我发出以下命令时
cat case.dat | awk '{print ($1-0.777472), ($1*$2*$3*$4)/($10)}'
然后我得到以下错误
awk: cmd. line:1: (FILENAME=- FNR=1) fatal: division by zero attempted
并且脚本没有给出任何输出。
这意味着我在$8 中有一些zero's,因此我遇到了错误。如何使用简单的 awk 命令解决此问题?
【问题讨论】:
-
/($10)和I have some zero's in $8为什么在$8中?How I can overcome this不干吗?你想如何“克服”它? -
10 是一个可以相乘的数字。我已经更新它以避免任何混淆
-
它没有打印任何值并且命令失败并出现提及错误。
-
$10为零时要打印什么值? -
使用
awk '{print ($1-0.777472), ($10 ? ($1*$2*$3*$4)/$10 : 0)}' case.dat
标签: awk