gawk 扩展功能详解与应用实践
1. 文件相关属性及 C 代码实现
在处理文件时,我们可以在 awk 程序中使用in运算符来测试文件的一些类型属性。以下是一些常见的属性及其含义:
-“blksize”:文件 I/O 的首选块大小。不过,并非所有类 POSIX 系统的 Cstat结构中都有这个字段。
-“linkval”:如果文件是符号链接,该元素表示链接指向的文件的名称,即链接的值。
-“rdev”、”major”、”minor”:若文件是块设备或字符设备文件,这些值分别代表数字设备编号以及该编号的主、次组件。
下面是实现chdir()和stat()功能的 C 代码示例:
#ifdef HAVE_CONFIG_H #include <config.h> #endif #include <stdio.h> #include <assert.h> #include <errno.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include "gawkapi.h" #in