AWK理解用E符号写的数字吗?

AWK理解用E符号写的数字吗?,awk,Awk,我有一个选项卡分隔的文件,有几列,其中一列包含以如下格式编写的数字 4.07794484177529E-293 我想知道AWK是否理解这个符号?也就是说,我只想得到该列中的数字小于0.1的行 但我不确定AWK是否理解“4.07794484177529E-293”是什么-它能对这种格式进行算术比较吗?是的,回答您的问题,AWK确实理解E符号 您可以通过以下方式确认: awk '{printf "%f\n", $1}' <<< "4.07794484177529E-3" 0.004

我有一个选项卡分隔的文件,有几列,其中一列包含以如下格式编写的数字

4.07794484177529E-293

我想知道AWK是否理解这个符号?也就是说,我只想得到该列中的数字小于0.1的行


但我不确定AWK是否理解“4.07794484177529E-293”是什么-它能对这种格式进行算术比较吗?

是的,回答您的问题,
AWK
确实理解E符号

您可以通过以下方式确认:

awk '{printf "%f\n", $1}' <<< "4.07794484177529E-3"
0.004078
说明:

  • %5.8f
    是浮动的格式
  • 前面的
    5
    部分指定小数点前要打印的位数
  • 后面的
    8
    部分指定小数点后要打印的位数

试一试会不会比这样问问题更快?你会学到更多的。像
awk
这样的命令,如果你尝试使用它们,它们很少会伤害你或你的计算机。最糟糕的情况是,说“语法错误”或类似的话会伤害你的自尊心。与Jonathan的话相呼应:我过去也害怕探索性学习——那种奇怪的非理性恐惧,害怕破坏某些东西(尽管这种情况很少发生),或者不得不与得不到正确的结果作斗争。但可以说,你只需要“潜入冷水中”,你就会发现这真的很有趣。你会自愿尝试打破现状,只是为了检验你对现状的假设,而这正是你形成理解新事物的心理模型的方式。
awk '{printf "%5.8f\n", $1}' <<< "1.2345678901234556E+4"
12345.67890123