Awk编程:语句、输入输出与函数的全面解析
在Awk编程中,有许多重要的语句和功能,它们能帮助我们高效地处理数据。下面将详细介绍这些内容,包括语句模拟、用户控制输入、输出重定向、运行外部程序、用户自定义函数以及字符串函数等方面。
1. 语句模拟
在较旧的Awk实现中,可以模拟 nextfile 语句,不过会有一些效率损失。具体做法是将 nextfile 语句替换为 SKIPFILE = FILENAME; next ,并在程序开头添加以下新的模式/动作对:
FNR == 1 { SKIPFILE = "" }
FILENAME == SKIPFILE { next }
第一个模式/动作对在每个文件开始时将 SKIPFILE 重置为空字符串,这样即使相同文件名作为连续参数出现,程序也能正常工作。尽管继续从当前文件读取记录,但 next 语句会立即忽略它们。当到达文件末尾并打开下一个输入文件时,第二个模式不再匹配,其动作中的 next 语句也就不会执行。
若要跳过整个作业的进一步执行,并向shell返回状态码,可以使用 exit n 语句。
2. 用户控制输入
Awk能透明处理命令行指定的输入文件,这意味着大多数Awk程序无需自己打开和处理文件。不过,通过 getline
超级会员免费看
订阅专栏 解锁全文
5

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



