高階過濾器awk

2021-06-22 05:44:47 字數 1427 閱讀 2091

一、簡單過濾功能

awk '/abc/'  test 

awk '/abc/'  test 

awk '/abc/'  test

說明:預設情況下可以不加print

二、把一行拆分成字段

awk -f"|" '/abc/ ' test (意思是以|為分隔符,搜尋有abc的行並輸出第二個和第三個欄位的字元)

awk -f "|" 'nr==3,nr==6' test (輸出第3行到第六行)

說明:$0 是整行,預設情況下以空百串為分隔符

三、printf格式化輸出

awk '/^int/'  test.cpp (按照printf的格式輸出字段,nr是行號,-10表示左對齊,正10表示右對齊)

四、awk中變數和表示式

(1)awk中沒有資料型別,自定義的變數也不需要初始化,預設為0或者空字串

(2)變數區分大小

(3)八進位制數前要用\,十六進製制前面要用\x

(4)awk沒有連線字串的運算子,只要把字串排列在一起就可以自動合併

(5)以下為以下例子

1、x = 「5」;print x;

2、x= 'sum";y="com「 

print x y  (結果是 sumcom)

print x"."y (sum.com)

3、 x="5";y=6;z="a"

print xy (56)

print x+y (11)

print y+z (6)

說明:如果字串裡面不含數字字元的時候,awk就把它當做是0

if(x) 只有當x是乙個非空字串或者是乙個正數的時才為真

五、根據字段篩選資訊

awk -f 」|「 『$3==」abc" || $4==「efg」 '  test (注意這裡的是全匹配,而不是部分匹配)

awk -f "|" 's3 ~/abc/ '  test (用~來匹配部分,取反用!~)

awk '$2 > 10 '  test (數值比較)

六、變數

awk  -f "|" '$3>10' test

七、-f可選項,從檔案中讀取awk程式

假設example.awk檔案裡面儲存如下($3>10)

則命令awk -f 「|」 -f example.awk test

說明:檔案中的命令不需要新增引號

八、begin段和end段

awk  -f "|" ' $3>10 ' test

說明:begin與end用來輸出一下頭和尾的資訊,這裡可用#注釋語句

九、內建變數

nr      行號

fs      輸入欄位的分隔符

ofs輸出欄位的分隔符

nf一行內的字段個數

filename當前的輸入檔名

argc命令列的引數個數

argv引數列表

PHP 高階過濾器

檢測乙個數字是否在乙個範圍內 以下例項使用了 filter var 函式來檢測乙個 int 型的變數是否在 1 到 200 內 例項 int 122 min 1 max 200 if filter var int,filter validate int,array options array min...

PHP高階教程 過濾器

php 過濾器用於驗證和過濾來自非安全 的資料,比如使用者的輸入。php 過濾器用於驗證和過濾來自非安全 的資料。測試 驗證和過濾使用者輸入或自定義資料是任何 web 應用程式的重要組成部分。php 的過濾器擴充套件的設計目的是使資料過濾更輕鬆快捷。幾乎所有的 web 應用程式都依賴外部的輸入。這些...

excel vba 高階過濾

excel vba 高階過濾 dim database as range 定義資料區域 dim criteria range as range 定義條件區域 dim extract field as range 定義結果區域 set database sheets man range a1 curr...