The GNU Awk User's Guide

 

http://clipthat.blogspot.com/2010/01/awk-script.html

AWK:印出某一列的第幾欄

AWK printf 格式

printf [format[, expression(s)]]

格式化輸出。輸出格式由 format 參數決定。輸出的參數個數必須符合 format 所需的個數。

format 的使用法和 C 語言中的 printf 一樣。下列為常見的格式:

 

%s 字串。

%d 十進位數字。

%n.mf 浮點數,n 為總共的位數,m 為小數點後的位數。

%[-]nc 為 c 這種格式指定最小欄位寬度。加上 - 則向左對齊,不加則向右對齊。

 

format 也可以含有 escape 字元。常用的有 \n(換行字元) 和 \t(tab)

若加上引用符號,則可以在 args 中加入字串或是空白字元。若要印出多個變數或是欄位,則必須用多個格式 format。

範例1:

使用下列 script:

{printf ("The sum on line %s is %d \n", NR, $1+$2)}

下面是輸入:

5 5

輸出如下,加上換行

The sum on line 1 is 10.

範例2:

 


11:07:39am /home/data/mrtg> df
Filesystem  1K-blocks    Used  Avail Capacity  Mounted on
/dev/ad0s1a   3583238 2299532 997048    70%    /
devfs               1       1      0   100%    /dev
/dev/ad1s1d   4074646 3648948  99728    97%    /vv


11:07:40am /home/data/mrtg> df | grep vv | awk '{printf("%s",$5)}'
97%

 

awk '/112.104.14.182/ /66.91.158.26/' < ipfw.log
找出ip為112.104.14.182&66.91.158.26的行
awk  '{print $2,$NF;}'

印出第二和最後一欄位

 

awk

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 slinbody 的頭像
    slinbody

    495884965

    slinbody 發表在 痞客邦 留言(0) 人氣()