欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

awk簡介與學(xué)習(xí)筆記收集

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

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

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

實(shí)例:

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

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

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

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

          index(string, substring)

實(shí)例:

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

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

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

            length( string )
            length

實(shí)例:

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

第一個(gè)實(shí)例返回test字符串的長度。

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

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

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

實(shí)例:

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

上例截取了world子字符串。

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

            match( string, regular expression )

實(shí)例:

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

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

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

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

            toupper( string )
            tolower( string )

實(shí)例:

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

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

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

實(shí)例:

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

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

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

            systime()

實(shí)例:

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

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

            systime( [format specification][,timestamp] )

Table 3. 日期和時(shí)間格式說明符

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

實(shí)例:

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

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

函數(shù)名稱 返回值 
atan2(x,y) y,x范圍內(nèi)的余切 
cos(x) 余弦函數(shù) 
exp(x) 求冪 
int(x) 取整 
log(x) 自然對(duì)數(shù) 
rand() 隨機(jī)數(shù) 
sin(x) 正弦 
sqrt(x) 平方根 
srand(x) x是rand()函數(shù)的種子 
int(x) 取整,過程沒有舍入 
rand() 產(chǎn)生一個(gè)大于等于0而小于1的隨機(jī)數(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個(gè)出色的WordPress SEO插件收集

    8個(gè)出色的WordPress SEO插件收集

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

    什么是phpDocumentor

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

    各種快遞查詢--Api接口

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

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

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

    怎樣去閱讀一份php源代碼

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

    PHP 開源AJAX框架14種

    PHP 開源AJAX框架14種,需要的朋友可以參考下,學(xué)習(xí)。
    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 性能哪個(gè)比較好,普通的mysql連接肯定是會(huì)被拋棄的 因?yàn)槊看味家乐箂ql注入的問題 而且相對(duì)來說比較慢
    2012-09-09
  • dedecms系統(tǒng)常用術(shù)語匯總

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

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

最新評(píng)論