在 gawk 手册中我描述了一个@include操作员。这使您可以制作 .awk 模块并共享脚本等。包含文件。
到目前为止,我发现 Windows 的最新 cgywin、mingw 和 gnu awk-s(awk、gawk、mawk、nawk,...)在第一个方面失败了:@include陈述。
有人可以向我指出一个为 Windows 实现整个 nawk 或 awk 实现的版本吗?我很确定当时我们至少下载了一个 nawk 来运行 Windows NT。
或者,同时解决这个问题也会有所帮助。 (比如说一个预先测试过的 awk 包含程序??)
tia,
将要
据我所知,@include
在 4.x 之前,gawk 本身不支持文件。然而,至少在 Linux 上,它附带了一个名为igawk
您可以使用它来代替;它预处理 awk 脚本并替换@include
s 包含文件的内容(通过找到$AWKPATH
)。也许Cygwin也有这个脚本?
$ cat foo.awk
@include bar.awk
$ cat bar.awk
BEGIN {print "Hello, world!" }
$ awk -f foo.awk
awk: foo.awk:1: @include bar.awk
awk: foo.awk:1: ^ invalid char '@' in expression
$ gawk -f foo.awk
gawk: foo.awk:1: @include bar.awk
gawk: foo.awk:1: ^ invalid char '@' in expression
$ igawk -f foo.awk
Hello, world!
但请注意,igawk
和呆呆4的@include
语法不兼容。当地人@include
在 gawk 4 中,包含的文件名需要带引号的字符串;igawk
's 采用裸字,如果您引用它,它将尝试查找名称中带有引号的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)