【问题标题】:How to debug an AWK script如何调试 AWK 脚本
【发布时间】:2011-01-08 03:57:48
【问题描述】:

调试任何 AWK 脚本的技巧是什么?

【问题讨论】:

    标签: scripting awk


    【解决方案1】:

    在代码中使用 print 语句打印出变量值/返回值等。如果您使用的是gawk,则可以使用-W dump-variables[=file] 选项将变量转储到文件中以进行调试。

    另外,-W lint[=value] 选项可能很有趣。有关更多信息,请参阅文档。其他版本的 AWK,例如 pgawk 提供分析。

    A page of sed/awk 调试书籍供您参考。

    【讨论】:

    • 所以调试awk的技巧是使用gawk :)
    【解决方案2】:

    现在有这个页面:Debugger Invocation - The GNU Awk User's Guide;提到这样的调用:

     $ gawk -D -f getopt.awk -f join.awk -f uniq.awk inputfile
    

    ... 否则应该产生一个 shell 接口;但不幸的是,我的 GNU Awk 3.1.7 上没有 --debug/-D 开关..

    编辑:找到更多关于此的信息:

    awk.info » New AWK debugger

    Arnold Robbins 于 2010 年 2 月写道..
    该发行版可在http://www.skeeve.com/gawk/gawk-3.1.7-bc-d.tar.gz ...
    此版本与 3.1.7 相同,但具有一个新的执行引擎和一个调试版本的 gawk,相当有想象力地命名为“dgawk”...

    然后:

    GNU Awk: This is Not Your Father's Awk | Dr Dobb's

    使用类似于 GDB 的调试器(GNU 调试器)进行 Awk 级调试。这首先在 gawk 4.0(2011 年发布)中作为单独的可执行文件提供,但现在它已内置到常规 gawk 可执行文件中。

    这就解释了为什么我没有它...时间从源代码构建,我猜:)

    【讨论】:

    • 到 awk.info 的链接并不符合人们的预期 =}
    猜你喜欢
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2015-07-23
    • 2021-04-05
    • 2017-08-24
    • 2014-05-14
    相关资源
    最近更新 更多