awk学习笔记(10) - 数组
生活随笔
收集整理的這篇文章主要介紹了
awk学习笔记(10) - 数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
awk中的數組
awk中的數組跟php中的很像,使用前都不需要聲明,都可以用字符串做下標。
我們創建一個reg.dat文件來記錄用戶選修的課程:
現在要統計各課程被選的次數,親,怎么辦?
之前的程序都是用命令行完成的,從這一篇開始,我們學習將程序寫在文件中來調用。
調用的方式是:
下面創建一個course.awk文件,在里面編寫如下的程序:
然后在命令行中調用:
輸出結果:
解釋一下course.awk中的程序:
第一行是一個for循環,NF是一行的字段數,Number是一個數組,$i從第2列開始,直到一行最后一列,其實就是循環了一行的所有的課程,我們將課程名作為數組的下標,一旦有重復的課程,就會將Number[$i]加1。
第二行中的END表示的是在文件處理結束后進行的處理。這一行也有一個for循環,它是用于將Number數組格式化輸出,for(course in Number)會逐個讀取Number中的元素,讀取的下標即course,值為Number[course]。printf完成下標與值的格式化輸出。
其實在之前的awk學習筆記(6)中介結不排序對數據去重的技巧時已經用到過數組了,只是沒有系統的學習。
轉載于:https://blog.51cto.com/ustb80/1034692
總結
以上是生活随笔為你收集整理的awk学习笔记(10) - 数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站提速-页面静态化(2)
- 下一篇: Linux常用命令和服务器配置