awk程式設計 呼叫方式和分隔符

2021-09-30 12:10:27 字數 632 閱讀 3408

呼叫方式:

1、在shell命令列輸入命令呼叫awk,格式為:

awk {-f 域分隔符} 'awk程式段'  輸入檔案

awk -f awk指令碼檔案 輸入檔案

-f 選項表示呼叫awk指令碼檔案

./awk指令碼檔名  輸入檔案

awk定義域操作符$來指定執行動作的域,$後面跟數字或變數來標識域的位置,如$1表示第乙個域,$2表示第二個域,$0表示所有域

[root@ns1 ~]# cat sw

sw 1   2

ss  1   2

ww 1  2

$1     $2    $3

每一列就是乙個域

$後面還可以接變數,或者變數運算表示式

begin後面的操作將在awk開始掃瞄前輸入之前執行,一般使用它來現實變數和初始化變數

在這裡把one two賦值並相加,結果為3,所以輸出的是$3

改變分隔符

-f選項

下面我們將分隔符改為tab鍵,然後我們列印第二個域,發現第二個域變為原來的第三個域,原來的第一第二兩個域被認為是乙個域。

環境變數fs

我們可以通過在begin欄位中設定fs的值來改變分隔符

這裡第二個域變成原來的第二第三兩個域

二,awk分隔符

在前一篇文章中我們略微提到過 分隔符 但是並沒有細說,那麼我們今天就聊聊什麼是分隔符,awk有哪些分隔符,awk的預設分割符是空格,但是,這樣描述並不精確,因為,awk的分隔符還分為兩種,輸入分隔符 和 輸出分隔符 此處我們先將分隔符的概念列出,看不懂沒關係,我們會一一進行舉例,到時自然會明白。輸入...

awk linux 分隔 awk多分隔符

awk的 f引數可以指定新的分隔符,有些時候可能需求指定多個分隔符,比如下面的內容 root n1 netstat an grep estab udp 0 0 192.168.1.120 35570 212.47.249.141 123 established udp 0 0 192.168.1.1...

有關awk欄位分隔符

echo a b c d awk 我的理解是應該把輸出顯示為如下的方式 a b c d dan但執行的結果不是這樣的 a b c d 為什麼啊 echo a b c d awk 或echo a b c d awk begin 或echo a b c d awk 這個方法我知道 我是想知道為什麼ofs...