文字處理awk

2021-06-22 16:15:32 字數 1232 閱讀 2311

awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。

簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。實際上awk確實有自己的程式語言——

樣式掃瞄和處理語言。

awk ''

1.命令列方式

awk [-f field-separator] 'commands' filename

其中,commands 是真正awk命令,[-f域分隔符]是可選的。 input-file(s) 是待處理的檔案。

在awk中,檔案的每一行中,由域分隔符分開的每一項稱為乙個域。

2.shell指令碼方式

將所有的awk命令插入乙個檔案,並使awk程式可執行,然後awk命令直譯器作為指令碼的首行,一遍通過鍵入指令碼名稱來呼叫。

argc               命令列引數個數

argv 命令列引數排列

environ 支援佇列中系統環境變數的使用

filename awk瀏覽的檔名

fnr 瀏覽檔案的記錄數

fs 設定輸入域分隔符,等價於命令列 -f選項

nf 瀏覽記錄的域的個數

nr 已讀的記錄數

ofs 輸出域分隔符

ors 輸出記錄分隔符

rs 控制記錄分隔符

gsub(r,s)在整個$0中用s代替r

gsub(r,s,t)在整個t中用s替代r

index(s,t)返回s中字串t的第一位置

length(s)返回s長度

match(s,r)測試s是否包含匹配r的字串

split(s,a,fs)在fs上將s分成序列a

sprint(fmt,exp)返回經fmt格式化後的exp

sub(r,s)用$0中最左邊最長的子串代替s

substr(s,p)返回字串s中從p開始的字尾部分

substr(s,p,n)返回字串s中從p開始長度為n的字尾部分

awk文字處理

awk是一種程式語言,用於在linux環境中對文字資料進行處理 二 awk的兩種語法格式 awk options conmmand filenames awk options f awk script file filenames f 定義輸入字段分隔符,預設分隔符是空格或製表符 命令begin e...

awk文字處理

awk文字處理 基於模式匹配檢查輸入文字,逐行處理並輸出 通常用在shell指令碼中,獲取指定的資料 單獨用時,可對文字資料做統計 一 語法格式 格式1 命令 awk 選項 條件 格式2 awk 選項 條件 檔案.若有多條語句,可用分號分隔 print是最常用的指令 awk f etc passwd...

awk進行文字處理

1 awk的內建變數 awk 所內建的字段變數及其涵意如下 字段變數 含義 0 一字串,其內容為目前 awk 所讀入的資料行.1 0 上第乙個欄位的資料.2 0 上第二個欄位的資料.其餘類推 內建變數 含義nf number of fields 為一整數,其值表 0上所存在的字段數目.nr numb...