亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

awk簡介與學習筆記收集

 更新時間:2008年04月24日 19:58:23   作者:  
Awk學習筆記 整理:Jims of 肥肥世家 <jims.yang@gmail.com>

gsub函數(shù)作用如sub,但它在整個文檔中進行匹配。格式如下:

            gsub (regular expression, substitution string)
            gsub (regular expression, substitution string, target string)

實例:

            $ awk '{ gsub(/test/, "mytest"); print }' testfile
            $ awk '{ gsub(/test/, "mytest"), $1 }; print }' testfile

第一個例子在整個文檔中匹配test,匹配的都被替換成mytest。

第二個例子在整個文檔的第一個域中匹配,所有匹配的都被替換成mytest。

index函數(shù)返回子字符串第一次被匹配的位置,偏移量從位置1開始。格式如下:

          index(string, substring)

實例:

            $ awk '{ print index("test", "mytest") }' testfile

實例返回test在mytest的位置,結(jié)果應(yīng)該是3。

length函數(shù)返回記錄的字符數(shù)。格式如下:

            length( string )
            length

實例:

            $ awk '{ print length( "test" ) }' 
            $ awk '{ print length }' testfile

第一個實例返回test字符串的長度。

第二個實例返回testfile文件中第條記錄的字符數(shù)。

substr函數(shù)返回從位置1開始的子字符串,如果指定長度超過實際長度,就返回整個字符串。格式如下:

            substr( string, starting position )
            substr( string, starting position, length of string )

實例:

            $ awk '{ print substr( "hello world", 7,11 ) }' 

上例截取了world子字符串。

match函數(shù)返回在字符串中正則表達式位置的索引,如果找不到指定的正則表達式則返回0。match函數(shù)會設(shè)置內(nèi)建變量RSTART為字符串中子字符串的開始位置,RLENGTH為到子字符串末尾的字符個數(shù)。substr可利于這些變量來截取字符串。函數(shù)格式如下:

            match( string, regular expression )

實例:

            $ awk '{start=match("this is a test",/[a-z]+$/); print start}'
            $ awk '{start=match("this is a test",/[a-z]+$/); print start, RSTART, RLENGTH }'

第一個實例打印以連續(xù)小寫字符結(jié)尾的開始位置,這里是11。

第二個實例還打印RSTART和RLENGTH變量,這里是11(start),11(RSTART),4(RLENGTH)。

toupper和tolower函數(shù)可用于字符串大小間的轉(zhuǎn)換,該功能只在gawk中有效。格式如下:

            toupper( string )
            tolower( string )

實例:

            $ awk '{ print toupper("test"), tolower("TEST") }'

split函數(shù)可按給定的分隔符把字符串分割為一個數(shù)組。如果分隔符沒提供,則按當前FS值進行分割。格式如下:

            split( string, array, field separator )
            split( string, array )

實例:

            $ awk '{ split( "20:18:00", time, ":" ); print time[2] }'

上例把時間按冒號分割到time數(shù)組內(nèi),并顯示第二個數(shù)組元素18。

14.8.2. 時間函數(shù)
systime函數(shù)返回從1970年1月1日開始到當前時間(不計閏年)的整秒數(shù)。格式如下:

            systime()

實例:

            $ awk '{ now = systime(); print now }'

strftime函數(shù)使用C庫中的strftime函數(shù)格式化時間。格式如下:

            systime( [format specification][,timestamp] )

Table 3. 日期和時間格式說明符

格式 描述 
%a 星期幾的縮寫(Sun) 
%A 星期幾的完整寫法(Sunday) 
%b 月名的縮寫(Oct) 
%B 月名的完整寫法(October) 
%c 本地日期和時間 
%d 十進制日期 
%D 日期 08/20/99 
%e 日期,如果只有一位會補上一個空格 
%H 用十進制表示24小時格式的小時 
%I 用十進制表示12小時格式的小時 
%j 從1月1日起一年中的第幾天 
%m 十進制表示的月份 
%M 十進制表示的分鐘 
%p 12小時表示法(AM/PM) 
%S 十進制表示的秒 
%U 十進制表示的一年中的第幾個星期(星期天作為一個星期的開始) 
%w 十進制表示的星期幾(星期天是0) 
%W 十進制表示的一年中的第幾個星期(星期一作為一個星期的開始) 
%x 重新設(shè)置本地日期(08/20/99) 
%X 重新設(shè)置本地時間(12:00:00) 
%y 兩位數(shù)字表示的年(99) 
%Y 當前月份 
%Z 時區(qū)(PDT) 
%% 百分號(%) 

實例:

            $ awk '{ now=strftime( "%D", systime() ); print now }'
            $ awk '{ now=strftime("%m/%d/%y"); print now }'

14.8.3. 內(nèi)建數(shù)學函數(shù)
Table 4. 

函數(shù)名稱 返回值 
atan2(x,y) y,x范圍內(nèi)的余切 
cos(x) 余弦函數(shù) 
exp(x) 求冪 
int(x) 取整 
log(x) 自然對數(shù) 
rand() 隨機數(shù) 
sin(x) 正弦 
sqrt(x) 平方根 
srand(x) x是rand()函數(shù)的種子 
int(x) 取整,過程沒有舍入 
rand() 產(chǎn)生一個大于等于0而小于1的隨機數(shù) 

14.8.4. 自定義函數(shù)
在awk中還可自定義函數(shù),格式如下:

        function name ( parameter, parameter, parameter, ... ) {
                        statements
                        return expression                  # the return statement and expression are optional
        }

15. How-to
如何把一行豎排的數(shù)據(jù)轉(zhuǎn)換成橫排?

awk '{printf("%s,",$1)}' filename
完整版本

相關(guān)文章

  • php格式化工具Beautify PHP小小BUG

    php格式化工具Beautify PHP小小BUG

    Beautify PHP is written entirely in PHP. The program was tested with Linux and Windows, PHP 4.1.0 and PHP 4.3.1, but it should work on most systems running PHP.
    2008-04-04
  • 8個出色的WordPress SEO插件收集

    8個出色的WordPress SEO插件收集

    以下是幾個一流的SEO插件列表,它們可以幫助我們提高WordPress站點在搜索引擎中的排名。
    2011-02-02
  • 什么是phpDocumentor

    什么是phpDocumentor

    PHPDocumentor是一個用PHP寫的工具,對于有規(guī)范注釋的php程序,它能夠快速生成具有相互參照,索引等功能的API文檔。
    2008-09-09
  • 各種快遞查詢--Api接口

    各種快遞查詢--Api接口

    目前支持申通快遞查詢接口、圓通快遞查詢API、中通快遞、韻達快遞、匯通快遞、EMS快遞、順豐快遞、天天快遞、宅急送快遞等國內(nèi)常見快遞,同時也支持TNT快遞、FedEx快遞、DHL快遞、UPS快遞等國外常見快遞的查詢服務(wù)共計支持100余家快遞,覆蓋了市面95%以上的使用群體。
    2016-04-04
  • 建站常用13種PHP開源CMS比較

    建站常用13種PHP開源CMS比較

    dedecms很好用,建立模板也很方便,代碼也合理,相對其它CMS要好得多,最為關(guān)鍵的是開源。,現(xiàn)在網(wǎng)上最熱門,已經(jīng)有不少大站在使用這個CMS了,中國站長站就是使用的這個CMS。
    2009-08-08
  • 怎樣去閱讀一份php源代碼

    怎樣去閱讀一份php源代碼

    技術(shù)的快速進步,最好的途徑就是閱讀源代碼了。自己也閱讀了很多開源的程序,感覺方法很重要,好的方法可以達到事半功倍的效果。一下就是我自己的一些新的,希望對大家都有用。
    2009-08-08
  • PHP 開源AJAX框架14種

    PHP 開源AJAX框架14種

    PHP 開源AJAX框架14種,需要的朋友可以參考下,學習。
    2009-08-08
  • PHP5.2下chunk_split()函數(shù)整數(shù)溢出漏洞 分析

    PHP5.2下chunk_split()函數(shù)整數(shù)溢出漏洞 分析

    PHP5.2下chunk_split()函數(shù)整數(shù)溢出漏洞 分析...
    2007-06-06
  • mysql,mysqli,PDO的各自不同介紹

    mysql,mysqli,PDO的各自不同介紹

    PDO,MYSQL,MYSQLI 性能哪個比較好,普通的mysql連接肯定是會被拋棄的 因為每次都要防止sql注入的問題 而且相對來說比較慢
    2012-09-09
  • dedecms系統(tǒng)常用術(shù)語匯總

    dedecms系統(tǒng)常用術(shù)語匯總

    dedecms系統(tǒng)常用術(shù)語匯總...
    2007-04-04

最新評論