1. 程式人生 > >awk執行的三種方式,以及awk以shell指令碼檔案形式執行的注意事項

awk執行的三種方式,以及awk以shell指令碼檔案形式執行的注意事項

awk執行有三種形式:

1.直接以命令列來執行,如圖:

2.以awk指令碼檔案來執行

需要加-f選項。

3.以shell指令碼的形式來執行

        以shell指令碼形式執行時,行首的#!/bin/bash 需變換為#!/bin/awk(awk所在的路徑),並且後面需加上-f選項,否則會報錯。具體事例如圖:

awk變數不需定義,可直接賦值或操作。

若對變數進行數值操作,如+1,-1,++等操作,則其值為數值,並且預設值為0.

若對變數進行字串操作,則其值預設為字串。

awk的陣列類似k,v對映關係,可以以數字為下標索引,也可以以字串為下標索引,甚至可以以多維字串為索引

在shell指令碼形式執行的變數,可以直接加兩個引號""連線變數和字串或者其他變數,可直接進行字串拼接,如:

圖中,a[1]為字串變數,reg之前未定義,可以接將其作為索引為字串的陣列,陣列值也為字串;可通過下標索引對其對應值進行不斷追加。其陣列變數值可以接與字串通過“”進行拼接,而不是像shell指令碼中的變數,需要用${變數值。

以字串為下表索引的陣列的遍歷:

對於非數值型下標,一般用此種方法進行陣列遍歷。