呼叫方式:
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...