今天從linux學習開始,沒有什麼規劃,就簡單記下筆記。
-f 「」:用來設定處理文字時的域分隔符 預設是空格和tab
例:awk -f 「:」 『』 /etc/passwd
-v var:用來設定要傳入指令碼的變數,乙個變數前乙個-v
例:awk -v var1=1 -v var2=2 『』 /etc/passwd
/正規表示式/限定行:如.』nr<=2』輸出前兩行
begin:不進行記錄匹配和處理,一般用來定義變數還有列印輸入內容的開頭,如列名
end:匹配並處理結束後,當前匹配的行是最後一行,可以用來列印最後一行』end』,輸出統計等資訊
定義變數:var=121;列印內容:print printf
內建函式:split()
控制語句:if while
「+ - * / % = ^」「< >= <= !=」
&& || !
空格,可以用來連線字串
用來在記錄或域進行匹配正規表示式跟c基本一致例.awk 『$1~/^root/』 /etc/passwd
1. if( ){}
else if( )
else
2. while( )
3. special for迴圈用於讀取關聯陣列中的元素。格式如下:
sub函式,乙個引數為正規表示式,第二個引數為用來替換的字串,第三個引數可選,用來指定要替換的域如$1,只替換匹配到的乙個內容}
sub (regular expression, substitution string, target string)
gsub函式,同sub功能,替換所有匹配到的內容
gsub (regular expression, substitution string, target string)
index函式返回子字串第一次被匹配的位置,偏移量從位置1開始。格式如下:
index(string, substring)
length函式,返回字串長度
length(srting) 返回指定字串長度
length 返回記錄的長度
substr函式返回從位置1開始的子字串,如果指定長度超過實際長度,就返回整個字串。格式如下:
substr( string, starting position, length of string )
split函式可按給定的分隔符把字串分割為乙個陣列。如果分隔符沒提供,則按當前fs值進行分割。格式如下:
split( string, array, field separator )
int(x)取整,不捨入
sqrt(x)平方根
rand()產生乙個0 1之間的隨機數
在awk中還可自定義函式,格式如下:systime() 秒單位,從1970.1.1開始function name ( parameter, parameter, parameter, … )
strftime函式使用c庫中的strftime函式格式化時間。格式如下:
systime( [format specification][,timestamp] )
2015.10.29亂七八糟的,以後有機會學一下markdown!
2015.11.4 重新編輯了一下
linux awk學習筆記
最近新增了幾個功能的日誌,但是呢,這個日誌就是輸出,一般自己也發現不了問題,於是想寫一些簡單的監控指令碼來看看日誌的大致情況,比如有沒有error,每天有多少error報出來。想到了以前運維的同時分享awk,於是想簡單的學習下。入門最簡單的輸入某些列 使用 4 這種來表示 0 是輸出整列 root ...
linux awk學習筆記
awk awk的最基本功能是在檔案或者字串中基於指定規則瀏覽和抽取資訊,awk抽取資訊後,才能進行其他檔案操作。完整的awk指令碼通常用來格式化文字檔案中的資訊。通常,awk是以檔案的一行為處理單位的。awk每接收檔案的一行,再執行相應的命令,來處理文字。1.命令列方式 awk f field se...
Linux awk 命令學習筆記
創始人 alfred aho,peter weinberger,和 brian kernighan 語法 awk options script var value file s awk options f scriptfile var value file s options常用引數說明 示例1,單...