awk學習系列
awk學習(一) 基礎
awk學習(二) 分隔符
輸入分隔符(field separator):預設是空白字元(空格)為分隔符對每一行進行分割
輸出分隔符(output field separator):將每行分割後,輸出在螢幕上也是以空格為字元分隔符
我們通過小例子搞明白這兩個分隔符的作用
當awk逐行處理文字的時候,是以輸入分隔符為準,將文字切成多個片段,預設使用空格,但是如果一段文字中沒有空格,我們可以指定特定的文字或符號作為輸入分隔符,
如下圖我們指定#為輸入分隔符
[root@localhost ~]
# cat test
abc#123#iuy#ddd
8ua#456#auv###ppp#7y7
[root@localhost ~]
# awk -f# '' test
abc 123
8ua 456
[root@localhost ~]
#
上圖中,我們使用了-f選項,指定使用#作為輸入分隔符,於是awk將每一行都通過#來分割
awk的語法如下:
awk [option] 『pattern 』 file
此處我們使用了awk的乙個option,就是-f 作用就是用於指定輸入分隔符
還可以通過設定內建變數指定awk的輸入分隔符
awk 內建變數fs可以用於指定輸入分隔符,但是在使用變數時,需要使用-v選項, 用於指定對應的變數 ,如 -v fs =』#』
[root@localhost ~]
# cat test
abc#123#iuy#ddd
8ua#456#auv###ppp#7y7
[root@localhost ~]
# awk -f# '' test
abc 123
8ua 456
[root@localhost ~]
# cat test
abc#123#iuy#ddd
8ua#456#auv###ppp#7y7
[root@localhost ~]
# awk -v fs='#' '' test
abc 123
8ua 456
[root@localhost ~]
#
-v 也是option的一種,用於設定內建變數
那麼什麼是輸出分隔符呢,當我們要對處理完的文字進行輸出的時候,以什麼文字或符號作為分隔符,預設是空格
現在我們可以同時指定輸入分隔符和輸出分隔符,示例如下:
現在我們可以同時指定輸入分隔符和輸出分隔符,示例如下:
awk 『』 表示 每行分割後,將第一列和第二列以輸出分隔符空格輸出
awk 『』 表示每行分割後,將第一列和第二列連線起來輸出
二,awk分隔符
在前一篇文章中我們略微提到過 分隔符 但是並沒有細說,那麼我們今天就聊聊什麼是分隔符,awk有哪些分隔符,awk的預設分割符是空格,但是,這樣描述並不精確,因為,awk的分隔符還分為兩種,輸入分隔符 和 輸出分隔符 此處我們先將分隔符的概念列出,看不懂沒關係,我們會一一進行舉例,到時自然會明白。輸入...
Linux 三劍客之awk(二)分隔符
awk的預設分割符是空格,其實awk的分隔符還分為兩種,輸入分隔符 和 輸出分隔符 輸入分隔符,英文原文為field separator,此處簡稱為fs 輸入分割符,預設是空白字元 即空格 awk預設以空白字元為分隔符對每一行進行分割。輸出分割符,英文原文為output field separato...
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...