- AWK 教程
- AWK - 首頁
- AWK - 概述
- AWK - 環境
- AWK - 工作流程
- AWK - 基本語法
- AWK - 基本示例
- AWK - 內建變數
- AWK - 運算子
- AWK - 正則表示式
- AWK - 陣列
- AWK - 控制流
- AWK - 迴圈
- AWK - 內建函式
- AWK - 使用者自定義函式
- AWK - 輸出重定向
- AWK - 美化輸出
- AWK 有用資源
- AWK - 快速指南
- AWK - 有用資源
- AWK - 討論
AWK - 算術函式
AWK 具有以下內建算術函式:
atan2(y, x)
它返回 (y/x) 的反正切值(以弧度表示)。以下示例演示了這一點:
示例
[jerry]$ awk 'BEGIN {
PI = 3.14159265
x = -10
y = 10
result = atan2 (y,x) * 180 / PI;
printf "The arc tangent for (x=%f, y=%f) is %f degrees\n", x, y, result
}'
執行此程式碼後,您將得到以下結果:
輸出
The arc tangent for (x=-10.000000, y=10.000000) is 135.000000 degrees
cos(expr)
此函式返回expr的餘弦值(以弧度表示)。以下示例演示了這一點:
示例
[jerry]$ awk 'BEGIN {
PI = 3.14159265
param = 60
result = cos(param * PI / 180.0);
printf "The cosine of %f degrees is %f.\n", param, result
}'
執行此程式碼後,您將得到以下結果:
輸出
The cosine of 60.000000 degrees is 0.500000.
exp(expr)
此函式用於查詢變數的指數值。
示例
[jerry]$ awk 'BEGIN {
param = 5
result = exp(param);
printf "The exponential value of %f is %f.\n", param, result
}'
執行此程式碼後,您將得到以下結果:
輸出
The exponential value of 5.000000 is 148.413159.
int(expr)
此函式將expr截斷為整數。以下示例演示了這一點:
[jerry]$ awk 'BEGIN {
param = 5.12345
result = int(param)
print "Truncated value =", result
}'
執行此程式碼後,您將得到以下結果:
Truncated value = 5
log(expr)
此函式計算變數的自然對數。
示例
[jerry]$ awk 'BEGIN {
param = 5.5
result = log (param)
printf "log(%f) = %f\n", param, result
}'
執行此程式碼後,您將得到以下結果:
輸出
log(5.500000) = 1.704748
rand
此函式返回一個介於 0 和 1 之間的隨機數 N,使得 0 <= N < 1。例如,以下示例生成三個隨機數。
示例
[jerry]$ awk 'BEGIN {
print "Random num1 =" , rand()
print "Random num2 =" , rand()
print "Random num3 =" , rand()
}'
執行此程式碼後,您將得到以下結果:
輸出
Random num1 = 0.237788 Random num2 = 0.291066 Random num3 = 0.845814
sin(expr)
此函式返回expr的正弦值(以弧度表示)。以下示例演示了這一點:
示例
[jerry]$ awk 'BEGIN {
PI = 3.14159265
param = 30.0
result = sin(param * PI /180)
printf "The sine of %f degrees is %f.\n", param, result
}'
執行此程式碼後,您將得到以下結果:
輸出
The sine of 30.000000 degrees is 0.500000.
sqrt(expr)
此函式返回expr的平方根。
示例
[jerry]$ awk 'BEGIN {
param = 1024.0
result = sqrt(param)
printf "sqrt(%f) = %f\n", param, result
}'
執行此程式碼後,您將得到以下結果:
輸出
sqrt(1024.000000) = 32.000000
srand([expr])
此函式使用種子值生成隨機數。它使用expr作為隨機數生成器的新的種子值。如果缺少 expr,則使用當天的時間作為種子值。
示例
[jerry]$ awk 'BEGIN {
param = 10
printf "srand() = %d\n", srand()
printf "srand(%d) = %d\n", param, srand(param)
}'
執行此程式碼後,您將得到以下結果:
輸出
srand() = 1 srand(10) = 1417959587
awk_built_in_functions.htm
廣告