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 } …