gpt4 book ai didi

windows - 想要一个实现 '@include' 的 AWK

转载 作者:可可西里 更新时间:2023-11-01 13:22:55 24 4
gpt4 key购买 nike

我在 gawk 手册中描述了一个 @include 运算符。这使您可以制作 .awk 模块和共享脚本等。包含文件。

到目前为止,我发现 Windows 的最新 cgywin、mingw 和 gnu awk-s(awk、gawk、mawk、nawk,...)在第一个:@include 语句上失败。

谁能告诉我一个实现整个 nawk 或 awk 实现的版本?我敢肯定,在过去,我们至少下载过一个 nawk 来运行 Windows NT。

或者,在此期间,变通方法会有所帮助。 (比如说一个预先测试过的 awk 包含程序??)

tia, 将

最佳答案

据我所知,@include 文件直到 4.x 才被 gawk 原生支持。但是,至少在 Linux 上,它附带了一个名为 igawk 的 shell 脚本,您可以使用它来代替;它预处理 awk 脚本并将 @include 替换为包含文件的内容(通过 $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 和 gawk 4 的 @include 语法不兼容。 gawk 4 中的原生 @include 需要包含文件名的带引号的字符串; igawk 接受裸字,如果您引用它,将尝试查找名称中带引号的文件。

关于windows - 想要一个实现 '@include' 的 AWK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16115291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com