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. 首字母缩写处理器
我们可以编写一个程序来扫描文件中的首字母缩写词,并将其替