AWK有很多用于数字、字符串、输入和输出操作的内置函数。Awk有以下两种高级内置功能类别:
- 用于数值运算的内置函数。
- 用于字符串操作的内置函数。
先决条件—— Unix/Linux中的AWK命令
用于数值运算的内置函数
1. Awk int(n) 功能: int()函数给出给定参数的整数部分。这将产生给定n的最小整数部分。n是任何带或不带浮点的数字。如果将整数作为参数,此函数将返回相同的值。
- 例如:
Input : $ awk 'BEGIN{print int(3.534);print int(4);print int(-5.223);print int(-5);}' Output : 3 4 -5 -5
2. 啊 日志(n) 功能: log()函数提供自然对数(带基数 E )n.log()仅当n为正数时才返回对数值。如果我们给出任何无效的数字(甚至是负数),它就会抛出一个错误。
- 例如:
Input : $ awk 'BEGIN{print log(3.534);print log(4);print log(0);print log(-5);print log(-1);}' Output : 1.26243 1.38629 -inf awk: cmd. line:1: warning: log: received negative argument -5 nan awk: cmd. line:1: warning: log: received negative argument -1 nan
说明: 退换商品 -inf 当给定零时,给出一个误差,当给定负数时,给出一个误差。
3. 啊 sqrt(n) 功能: sqrt()函数给出给定整数n的正根。该函数还接受正数。
- 例如:
Input : $ awk 'BEGIN{print sqrt(16);print sqrt(0);print sqrt(-12);}' Output : 4 0 awk: cmd. line:1: warning: sqrt: called with negative argument -12 -nan
说明: 它回来了 楠 如果我们以负数作为参数,则会出现错误。
4. 啊 罪(n) 功能: sin()函数给出n的正弦值, n的弧度 .
- 例如:
Input : $ awk 'BEGIN{print sin(-60);print sin(90);print sin(45);}' Output :0.304811 0.893997 0.850904
5. 啊 cos(n) 功能: cos()函数给出n的余弦值, n的弧度 .
- 例如:
Input : $ awk 'BEGIN{print cos(-60);print cos(90);print cos(45);}' Output :-0.952413 -0.448074 0.525322
- 用于字符串操作的内置函数
1. 啊 索引(str1、str2) 功能: 这将搜索字符串 str1 对于字符串的第一次出现 str2 ,并以字符形式返回该事件在字符串中开始的位置 str1 . awk中的字符串索引从1开始 .
- 例子:
Input: awk 'BEGIN{print index("Graphic", "ph"); print index("University", "abc")}' Output: 4 0
说明: 如果str1中未找到str2,则返回0。
2. 啊 长度(字符串) 功能: 函数的作用是:计算字符串的长度。
- 例子:
Input: $ awk 'BEGIN{print length("Graphic Era University")}' Output: 22
说明: 字符串的长度还包括空格。
3. 啊 substr(s、p、n) 功能: length()函数用于从字符串中提取子字符串函数。返回字符串的子字符串 s 在起始位置 P 最大长度为 N .如果 N 未提供,字符串的其余部分来自 P 被使用了。
- 例子:
Input: $ awk 'BEGIN{print substr("Graphic Era University", 9)}' Output: Era University
Input: $ awk 'BEGIN{print substr("Graphic Era University", 9, 8)}' Output: Era Univ
4. 啊 托洛尔(s) 功能: 翻译字符串中的所有大写字符 s 并返回新字符串。
- 例子:
Input: $ awk 'BEGIN{print tolower("GEEKSFORGEEKS")}' Output: geeksforgeeks
5. 啊 图珀(s) 功能: 翻译字符串中的所有小写字符 s 并返回新字符串。
- 例子:
Input: $ awk 'BEGIN{print toupper("geeksforgeeks")}' Output: GEEKSFORGEEKS
6 啊 拆分(字符串、数组、字段) 功能: 这把绳子分成几段,每段之间用 菲尔德赛普 ,并将碎片存储在 大堆 .第一件存放在 数组[1] ,第二件 数组[2] 等等这个 一串 第三个论点的价值, 菲尔德赛普 ,描述要拆分的位置 一串 .
- 例子:
Input: $ awk 'BEGIN{string="My Nationality Is Indian"; fieldsep=" "; n=split(string, array, fieldsep); for(i=1; i<=n; i++){printf("%s", array[i]);}}' Output: My Nationality Is Indian
说明: 上面的脚本将句子拆分为单词,使用空格作为分隔单词的字符。