gawk扩展功能:文件操作函数详解
1. gawk查找扩展的方式
编译后的扩展需要安装在gawk能够找到的目录中。如果gawk按照默认方式进行配置和构建,那么查找扩展的目录是 /usr/local/lib/gawk 。你也可以通过指定一个目录列表来设置搜索路径,以便gawk查找编译后的扩展。更多信息可参考 AWKLIBPATH 环境变量。
2. 示例:一些文件函数
在awk中,有两个很有用但本身没有的函数: chdir() (用于让awk程序更改其工作目录)和 stat() (用于让awk程序收集文件信息)。为了展示API的实际应用,下面将在一个扩展中为gawk实现这两个函数。
2.1 使用chdir()和stat()
在gawk解释器中集成了新函数后,就可以在awk层面使用它们了。
- 使用chdir() :使用 chdir() 非常简单,它接受一个参数,即要更改到的新目录。示例代码如下:
@load "filefuncs"
…
newdir = "/home/arnold/funstuff"
ret = chdir(newdir)
if (ret < 0) {
printf("could not change to %s: %s\n", newdir, ERRNO) > "/dev/stderr"
exit 1
}
…
超级会员免费看
订阅专栏 解锁全文
1199

被折叠的 条评论
为什么被折叠?



