Awk 编程中的数组操作与应用
1. 日期解析与数组索引
在处理日期输入时,如果输入解析失败,我们会认为输入无效并退出程序。若成功解析,date[1]会包含月份的数字。不过在使用date[1]作为数组month的索引之前,需要对其进行类型转换,通过加 0 来实现。因为 Awk 虽然能正确将 “11” 解释为数字,但前导零可能会使数字被当作字符串处理,例如 “06” 若不进行类型转换可能无法被正确识别。
示例运行如下:
$ echo "5/11/55" | date-month May 11, 19552. 删除数组元素
Awk 提供了删除数组元素的语句,语法为:
delete array[subscript]这里的方括号是必需的。该语句会从数组中移除由subscript索引的元素,之后使用in测试该subscript时会返回false,这与将该元素赋值为空字符串不同,赋值为空字符串时in测试仍会返回true。
3. 首字母缩写处理器
我们可以编写一个程序awkro来扫描文件中的首字母缩写,将每个缩写替换为完整的文