awk gawk 用法小結

2021-05-17 11:25:40 字數 2833 閱讀 5154

awk 用法:awk ' pattern '

變數名                含義

argc                命令列變元個數

argv                命令列變元陣列

filename        當前輸入檔名

fnr                當前檔案中的記錄號

fs                輸入域分隔符,預設為乙個空格

rs                輸入記錄分隔符

nf                當前記錄裡域個數

nr                到目前為止記錄數

ofs                輸出域分隔符

ors                輸出記錄分隔符

1、awk '/101/'               file 顯示檔案file中包含101的匹配行。

awk '/101/,/105/'         file

awk '$1 == 5'             file

awk '$1 == "ct"'          file 注意必須帶雙引號

awk '$1 * $2 >100 '       file

awk '$2 >5 && $2<=15'     file

2、awk '' file 顯示檔案file的當前記錄號、域數和每一行的第乙個和最後乙個域。

awk '/101/ ' file 顯示檔案file的匹配行的第

一、二個域加10。

awk '/101/ '  file

awk '/101/ ' file 顯示檔案file的匹配行的第

一、二個域,但顯示時域中間沒有分隔符。

3、df | awk '$4>1000000 '         通過管道符獲得輸入,如:顯示第4個域滿足條件的行。

4、awk -f "|" ''   file 按照新的分隔符「|」進行操作。

awk  'begin

'              file 通過設定輸入分隔符(fs="[: /t|]")修改輸入分隔符。

sep="|"

awk -f $sep ''  file 按照環境變數sep的值做為分隔符。   

awk -f '[ :/t|]' '' file 按照正規表示式的值做為分隔符,這裡代表空格、:、tab、|同時做為分隔符。

awk -f ''    '' file 按照正規表示式的值做為分隔符,這裡代表[、]

5、awk -f awkfile              file 通過檔案awkfile的內容依次進行控制。

cat awkfile

/101/ --遇到匹配行以後列印 ' hello! './047代表單引號。

--因為沒有模式控制,列印每一行的前兩個域。

6、awk '$1 ~ /101/ ' file 顯示檔案中第乙個域匹配101的行(記錄)。

7、awk   'begin

'           file 通過設定輸出分隔符(ofs="%")修改輸出格式。

8、awk   'begin              begin 表示在處理任意行之前進行的操作。

' file 取得檔案第乙個域的最大值。

(表示式1?表示式2:表示式3 相當於:

if (表示式1)

表示式2

else

表示式3

awk '' file

9、awk '$1 * $2 >100 ' file 顯示檔案中第乙個域匹配101的行(記錄)。

10、awk '' file 找到匹配行後先將第3個域替換後再顯示該行(記錄)。

awk ''  file 將第7域被3除,並將餘數賦給第7域再列印。

11、awk '/tom/ ' file 找到匹配行後為變數wage賦值並列印該變數。

12、awk '/tom/

end ' file end表示在所有輸入行處理完後進行處理。

13、awk 'gsub(//$/,"");gsub(/,/,""); cost+=$4;

end '    file gsub函式用空串替換$和,再將結果輸出到filename中。

1 2 3 $1,200.00

1 2 3 $2,300.00

1 2 3 $4,000.00

awk '

end "' file

通過if和else if完成條件語句

awk '

end "' file

通過exit在某條件時退出,但是仍執行end操作。

awk '

end "' file

通過next在某條件時跳過該行,對下一行執行操作。

14、awk '' file1 file2 file3>fileall 把file1、file2、file3的檔案內容全部寫到fileall中,格式為

列印檔案並前置檔名。

15、awk ' $1!=previous    

' fileall 把合併後的檔案重新分拆為3個檔案。並與原檔案一致。

16、awk 'begin '         通過管道把date的執行結果送給getline,並賦給變數d,然後列印。

17、awk 'begin '

通過getline命令互動輸入name,並顯示出來。

awk 'begin }'

列印/etc/passwd檔案中使用者名稱包含050x_的使用者名稱。

18、awk '}}

}'19、在awk中呼叫系統變數必須用單引號,如果是雙引號,則表示字串

flag=abcd

awk ''   結果為abcd

awk ''   結果為$flag

this用法小結

this主要是用作引用乙個類的當前例項物件,也可以用在擴充套件方法裡面,我主要總結一下前者的主要用途。1.用來限定被相同名字隱藏的類成員。這裡主要指的就是建構函式。比如 public employee4 string name,string id 這是乙個類的建構函式,this.name是之前宣告的...

static用法小結

static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種只指在c語言中使用,第三種在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數 在...

const 用法小結

const用法小結 關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性。1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在...