awk常用函式以及變數參考

2021-05-22 10:03:26 字數 2951 閱讀 5501

五月 28th, 2008

1.awk的常規表示式元字元

換碼序列

^ 在字串的開頭開始匹配

$ 在字串的結尾開始匹配

. 與任何單個字串匹配

[abc] 與內的任一字元匹配

[a-ca-c] 與a-c及a-c範圍內的字元匹配(按字母表順序)

[^abc] 與除內的所有字元以外的任一字元匹配

desk|chair 與desk和chair中的任乙個匹配

[abc][def] 關聯。與a、b、c中的任一字元匹配,且其後要跟d、e、f中的任乙個字元。

* 與a、b或c中任乙個出現0次或多次的字元相匹配

+ 與a、b或c中任何乙個出現1次或多次的字元相匹配

? 與乙個空串或a、b或c在任何乙個字元相匹配

(blue|black)berry 合併常規表示式,與blueberry或blackberry相匹配

2.awk算術運算子

運算子用途

——————

x^y x的y次冪

x**y 同上

x%y 計算x/y的餘數(求模)

x+y x加y

x-y x減y

x*y x乘y

x/y x除y

-y 負y(y的開關符號);也稱一目減

++y y加1後使用y(前置加)

y++ 使用y值後加1(字尾加)

–y y減1後使用y(前置減)

y– 使用後y減1(字尾減)

x=y 將y的值賦給x

x+=y 將x+y的值賦給x

x-=y 將x-y的值賦給x

x*=y 將x*y的值賦給x

x/=y 將x/y的值賦給x x%=y 將x%y的值賦給x

x^=y 將x^y的值賦給x

x**=y 將x**y的值賦給x

3.awk允許的測試:

操作符 含義

x==y x等於y

x!=y x不等於y

x>y x大於y

x>=y x大於或等於y

x< =y x小於或等於y

x~re x匹配正規表示式re

x!~re x不匹配正規表示式re

4.awk的操作符(按優先順序公升序排列)

= 、+=、 -=、 *= 、/= 、 %=

||&&

>; >;= < <= == != ~ !~

xy (字串鏈結,』x』』y』變成」xy」)

+ -* / %

++ –

5.awk內建變數(預定義變數)

說明:表中v項表示第乙個支援變數的工具(下同):a=awk,n=nawk,p=posix awk,g=gawk

v 變數 含義 預設值

——————————————————–

n argc 命令列引數個數

g argind 當前被處理檔案的argv標誌符

n argv 命令列引數陣列

g convfmt 數字轉換格式 %.6g

p environ unix環境變數

n errno unix系統錯誤訊息

g fieldwidths 輸入字段寬度的空白分隔字串

a filename 當前輸入檔案的名字

p fnr 當前記錄數

a fs 輸入字段分隔符 空格

g ignorecase 控制大小寫敏感0(大小寫敏感)

a nf 當前記錄中的字段個數

a nr 已經讀出的記錄數

a ofmt 數字的輸出格式 %.6g

a ofs 輸出字段分隔符 空格

a ors 輸出的記錄分隔符 新行

a rs 輸入的記錄他隔符 新行

n rstart 被匹配函式匹配的字串首

n rlength 被匹配函式匹配的字串長度

n subsep 下標分隔符 「34″

6.awk的內建函式

v 函式 用途或返回值

————————————————

n gsub(reg,string,target) 每次常規表示式reg匹配時替換target中的string

n index(search,string) 返回string中search串的位置

a length(string) 求串string中的字元個數

n match(string,reg) 返回常規表示式reg匹配的string中的位置

n printf(format,variable) 格式化輸出,按format提供的格式輸出變數variable。

n split(string,store,delim) 根據分界符delim,分解string為store的陣列元素

n sprintf(format,variable) 返回乙個包含基於format的格式化資料,variables是要放到串中的資料

g strftime(format,timestamp) 返回乙個基於format的日期或者時間串,timestmp是systime()函式返回的時間

n sub(reg,string,target) 第一次當常規表示式reg匹配,替換target串中的字串

a substr(string,position,len) 返回乙個以position開始len個字元的子串

p totower(string) 返回string中對應的小寫字元

p toupper(string) 返回string中對應的大寫字元

a atan(x,y) x的餘切(弧度)

n cos(x) x的余弦(弧度)

a exp(x) e的x冪

a int(x) x的整數部分

a log(x) x的自然對數值

n rand() 0-1之間的隨機數

n sin(x) x的正弦(弧度)

a sqrt(x) x的平方根

a srand(x) 初始化隨機數發生器。如果忽略x,則使用system()

g system() 返回自2023年1月1日以來經過的時間(按秒計算)

JMeter 十五 函式以及變數

參考 jmeter 函式引用方式如下 functionname 表示函式名稱。比如 var1,var2,var3 表示引數。每個函式的引數一般不一樣。有些甚至沒有引數,比如 不帶有引數的函式可以省略後邊的括號。引數包含 的話,需要用到 進行轉義。比如 jmeter 變數引用格式如下 1.如果某個被引...

Shell if引數 以及 變數

a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...

建構函式以及this

實際上建構函式與普通的函式並沒有區別,所以一般在開發中會使用大駝峰命名規則來區別普通的函式,建構函式實際上是通過返回乙個this值來完成建構函式的建立的.這個rutern this的操作由new這個操作符來完成,當然個人也可以手動來設定return的返回值,手動設定的返回值會覆蓋由new所自動新增的...