在awk中常用的內置函數大概分為:數值函數、字元函數、時間函數、二進位操作函數、數組函數、自定義函數等。 數值函數 常用的數值函數主要有int、rand、srand、sqrt等。詳細如下所示: | 函數 | 說明 | | | | | int(expr) | ...
在awk中常用的內置函數大概分為:數值函數、字元函數、時間函數、二進位操作函數、數組函數、自定義函數等。
數值函數
常用的數值函數主要有int、rand、srand、sqrt等。詳細如下所示:
函數 | 說明 |
---|---|
int(expr) | 對數字進行取整 |
sqrt(expr) | 返回數值的平方根 |
rand() | 生成0~1的隨機數 |
srand([expr]) | 使用指定的條件做為種子生成隨機數,如條件未指定,則使用時間做為種子,返回值是先前種子值。 |
示例如下所示:
字元函數
常用的數值函數如下所示:
函數 | 說明 |
---|---|
gsub(regex,sub,string) | 替換函數,其中第三個參數是可選的,如果無,則使用$0 |
index(str,sub) | 查找字元串str中是否包含子字元串sub,並返回起始位置信息,如返回0則代表未找到指定的字元串 |
length(str) | 返回字元串的長度 |
split(str,arr,regex) | 分割字元串str為正則表達式regex欄位並賦值給數組arr |
sub(regex,sub,str) | 替換指定範圍內的字元全只替換第一次出現的字元串 |
substr(str,start,length) | 從字元串返回從指定位置搜索並且滿足長度要求的子字元串 |
tolower(str) | 將字元串轉換為小寫 |
toupper(str) | 將字元串轉換為大寫 |
gsub:是全局替換,會替換指定範圍內的所有能匹配到的字元
sub:是局部替換,僅替換指定範圍內的第一次匹配到的字元
示例如下所示:
數組函數
函數 | 說明 |
---|---|
isarray(x) | 判斷變數是否為數組, |
delete array[index] | 刪除數組中的元素 |
delete array | 清空數組 |
asort(array) | 給數組排序 |
asorti(array) | 類似於asort,但卻是用數組下標進行排序,適用於下標為非數字的情況 |
示例如下所示:
以上僅介紹了awk常用的內置函數,更多可以查閱man文檔或查閱awk官方文檔
本文同步在微信訂閱號上發佈,如各位小伙伴們喜歡我的文章,也可以關註我的微信訂閱號:woaitest,或掃描下麵的二維碼添加關註: