1,#! /bin/awk -f
!用來定義解釋性語言使用的解釋器
2惭笑,檢索特定字符串,并輸出
awk '/li/ { print $0 }' mail-list
3, 獲取行數(shù)最多的一行
awk '{ if (length($0) > max) max = length($0) }
END { print max }' data
4沉噩, 獲取行field多余0的數(shù)據(jù)
awk 'NF > 0' data
5捺宗,獲取一個文件夾中的文件大小總和
ls -l files | awk '{ x += $5 }
END { print "total bytes: " x }'
6,計算總行數(shù)
awk 'END { print NR }' data
7川蒙,默認不支持多行蚜厉,但是可以通過反斜線連接
awk '/This regular expression is too long, so continue it
on the next line/ { print $1 }'
8,對某個field進行正則匹配
awk '$1 ~ /J/' inventory-shipped
附錄數(shù)據(jù):
1畜眨,mail-list
Amelia 555-5553 amelia.zodiacusque@gmail.com F
Anthony 555-3412 anthony.asserturo@hotmail.com A
Becky 555-7685 becky.algebrarum@gmail.com A
Bill 555-1675 bill.drowning@hotmail.com A
Broderick 555-0542 broderick.aliquotiens@yahoo.com R
Camilla 555-2912 camilla.infusarum@skynet.be R
Fabius 555-1234 fabius.undevicesimus@ucb.edu F
Julie 555-6699 julie.perscrutabor@skeeve.com F
Martin 555-6480 martin.codicibus@hotmail.com A
Samuel 555-3430 samuel.lanceolis@shu.edu A
Jean-Paul 555-2127 jeanpaul.campanorum@nyu.edu R
2昼牛,inventory-ship
Jan 13 25 15 115
Feb 15 32 24 226
Mar 15 24 34 228
Apr 31 52 63 420
May 16 34 29 208
Jun 31 42 75 492
Jul 24 34 67 436
Aug 15 34 47 316
Sep 13 55 37 277
Oct 29 54 68 525
Nov 20 87 82 577
Dec 17 35 61 401
Jan 21 36 64 620
Feb 26 58 80 652
Mar 24 75 70 495
Apr 21 70 74 514