最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

awk正則表達(dá)式和內(nèi)置函數(shù)的使用方法實(shí)例詳解

 更新時(shí)間:2014年12月01日 09:30:01   投稿:junjie  
這篇文章主要介紹了awk正則表達(dá)式和內(nèi)置函數(shù)的使用方法實(shí)例詳解,本文總結(jié)了15個(gè)使用例子,需要的朋友可以參考下

awk正則表達(dá)式及內(nèi)置函數(shù)實(shí)例詳解:

1、模糊匹配:

復(fù)制代碼 代碼如下:

awk ‘{if($3~/97/) print $0}' data.f:如果第三項(xiàng)中含有”97”則打印該行
awk ‘{if($4!~/ufcx/) print $0}' data.f:如果第三項(xiàng)中不含ufcx有則打印

2、精確匹配:

復(fù)制代碼 代碼如下:

awk ‘{if($5==66) print $0}' data.f:如果第五項(xiàng)是66則打印
awk ‘{if($5!=66)print $0}' data.f : 如果第五項(xiàng)不是66則打印
awk ‘{if($1>$5) print $0}' data.f:如果第一項(xiàng)大于第五項(xiàng)則打印

3、大小寫(xiě)匹配:

復(fù)制代碼 代碼如下:

awk ‘{if(/[Ss]ept/) print $0}' data.f:符合,則打印一行。
awk ‘/[Ss]ept/ {print $2}' data.f:符合,則打印第二字段

4、任意匹配:

復(fù)制代碼 代碼如下:

awk ‘{if($2 ~/^.e/) print $0}' data.f:第二字段中,第二個(gè)字符為e,輸出
awk ‘{if($4 ~/(lps|fcx)/) print $0}' data.f:第四個(gè)字段含有l(wèi)ps或fcx則輸出

5、&&,||:

復(fù)制代碼 代碼如下:

awk ‘{if($3 ~/1993/ && $2==”sept”) print $0}' data.f:兩邊都真則輸出
awk ‘{if($3 ~/a9/ || $2==”sept”) print $0}' data.f:一邊為真則輸出

6、變量定義:

awk ‘{date=$2;price=$5; if(date ~/[Ss]ept/) print “price is ” price}' data.f:變量定義,滿足date是sept或者Sept的將price輸出。

7、修改數(shù)值(源文件數(shù)值不變)

復(fù)制代碼 代碼如下:

awk ‘{BASELINE=42; if($1>BASELINE) $5=$5+100; print $0}' data.f:三行程序,以“;”分割

如果修改的是文本域,就要添加“”””。例如:awk ‘{if($2==”may”) $2=”tt”; print $0}' data.f

上邊都是顯示所有數(shù)據(jù),awk ‘{if($2==”may”) {$2=”tt”; print $0}}' data.f這個(gè)只顯示修改數(shù)據(jù),仔細(xì)看看,其實(shí)語(yǔ)法和c一樣,只是最外邊添加了一個(gè){}符號(hào)。

8、創(chuàng)建新域:(源文件數(shù)值不變)

復(fù)制代碼 代碼如下:

awk ‘{if($5>$1){$8=$5-$1;print $1,$8}}' data.f:

或者awk ‘{if($5>$1){diff=$5-$1;print $1,diff}}' data.f

9、數(shù)據(jù)統(tǒng)計(jì):

awk ‘{(total+=$5)}END{print total}' data.f:“{(total+=$5)}”和“{print total}”代表兩個(gè)不同的代碼段,如果沒(méi)有END每次的累積結(jié)果都會(huì)輸出,END可以理解為代碼段落的標(biāo)志,這樣只輸出最終結(jié)果即{print total}只執(zhí)行一次。

10、統(tǒng)計(jì)文件大小:

復(fù)制代碼 代碼如下:

ls –l | awk ‘{if(/^[^d]/) total=+$5}END{print “total KB:” total}':/^[^d]/行首匹配可以不寫(xiě)域值$1

11、Awk內(nèi)置變量:

ARGC 命令行參數(shù)個(gè)數(shù)

ARGV 命令行參數(shù)排列

ENVIRON 支持隊(duì)列中系統(tǒng)環(huán)境變量的使用

FILENAME awk瀏覽的文件名

FNR 瀏覽文件的記錄數(shù)

FS 設(shè)置輸入域分隔符,等價(jià)于命令行- F選項(xiàng)

NF 瀏覽記錄的域個(gè)數(shù)

NR 已讀的記錄數(shù)

OFS 輸出域分隔符

ORS 輸出記錄分隔符

RS 控制記錄分隔符

12、awk內(nèi)置字符串處理函數(shù)

gsub ( r, s )在整個(gè)$0中用s替代r

gsub ( r, s , t )在整個(gè)t中用s替代r

index ( s , t )返回s中字符串t的第一位置

length ( s )返回s長(zhǎng)度

match ( s , r )測(cè)試s是否包含匹配r的字符串,返回位置

split ( s , a , fs )在fs上將s分成序列a

sprint ( f m t , exp )返回經(jīng)f m t格式化后的exp

sub ( r, s ,$0) $0中s替換第一次r出現(xiàn)的位置

substr ( s , p )返回字符串s中從p開(kāi)始的后綴部分

substr ( s , p , n )返回字符串s中從p開(kāi)始長(zhǎng)度為n的后綴部分

13、awk ‘gsub(/6\./,78) {print $0}' data.f:將所有“6.”換成78,并輸出

復(fù)制代碼 代碼如下:

awk ‘{if($2==”Sept”) {sub(/3/,”9″,$0); print $0}}' data.f:只替換第一個(gè)出現(xiàn)的

awk ‘BEGIN{print index(“hello”,”lo”)}':輸出的值為4

awk ‘{if($3==”3BC1997″) print length($3) ” ” $3}' data.f

awk ‘BEGIN{print match(“ABCD”,”B”)}':輸出2

awk ‘BEGIN{print match(“ABCD”,/B/)}':“//”和“”””效果一樣

awk ‘BEGIN {print split(“123#234#654″, myarray, “#”)}':返回?cái)?shù)組元素個(gè)數(shù),123#234#654是字符串,以“#”為分隔符,將字符串放入數(shù)組。

awk ‘{if($1==34) print substr($3,2,7)}' data.f

awk ‘BEGIN{print substr(“helloleeboy”,2,7)}':輸出ellole

awk ‘BEGIN{print substr(“helloleeboy”,2,7)}' data.f:輸出n遍ellole,n為data.f的行數(shù)

14、awk ‘BEGIN{print”May\tDay\n\nMay \104\141\171″}':\104\141\171表示Day。\t:tab鍵,\n:換行,\ddd:八進(jìn)制

15、echo “65” | awk ‘{printf “%c\n”,$0}':printf函數(shù),和c差不多,輸出為A。(ASCII碼)

復(fù)制代碼 代碼如下:

echo “65” | awk ‘{printf “%d\n”,$0}':輸出65數(shù)字。

awk ‘{printf “%-15s %s\n”,$2,$3}' data.f:“%-15s”左對(duì)齊15個(gè)字符長(zhǎng)度

awk ‘{if(age<$1) print $0}' age=80 data.f和 awk ‘{age=49;if(age<$1) print $0}' data.f結(jié)果一樣,前者將值傳入awk,后者在awk中定義了一個(gè)變量。

相關(guān)文章

  • awk中讓人郁悶的system()函數(shù)

    awk中讓人郁悶的system()函數(shù)

    system()的結(jié)果是直接返回給shell顯示了,然后再由awk繼續(xù)執(zhí)行后面的程序,這種情況下,if()里留下的其實(shí)是system()的執(zhí)行狀態(tài)【即0或1】”0”~/^[2 3]/,當(dāng)然就一直執(zhí)行else了
    2013-03-03
  • Shell腳本實(shí)現(xiàn)非法IP登陸自動(dòng)報(bào)警

    Shell腳本實(shí)現(xiàn)非法IP登陸自動(dòng)報(bào)警

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)非法IP登陸自動(dòng)報(bào)警,本文實(shí)現(xiàn)非指定IP段登錄服務(wù)器時(shí)使用郵件報(bào)警,需要的朋友可以參考下
    2015-02-02
  • Shell腳本的條件測(cè)試和if條件語(yǔ)句使用方法

    Shell腳本的條件測(cè)試和if條件語(yǔ)句使用方法

    這篇文章主要介紹了Shell腳本的條件測(cè)試和if條件語(yǔ)句使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行

    Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行,本文給出的代碼簡(jiǎn)潔清晰,并給出了使用方法,需要的朋友可以參考下
    2015-01-01
  • Shell腳本中引用、調(diào)用另一個(gè)腳本文件的2種方法

    Shell腳本中引用、調(diào)用另一個(gè)腳本文件的2種方法

    這篇文章主要介紹了Shell腳本中引用、調(diào)用另一個(gè)腳本文件的2種方法,本文介紹了兩種方法的語(yǔ)法,然后給出實(shí)際使用實(shí)例和一些要注意的地方,需要的朋友可以參考下
    2015-06-06
  • shell腳本換行問(wèn)題實(shí)戰(zhàn)記錄

    shell腳本換行問(wèn)題實(shí)戰(zhàn)記錄

    換行相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于shell腳本換行問(wèn)題的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Linux 中的Logwatch命令

    Linux 中的Logwatch命令

    在Linux系統(tǒng)操作中,logwatch能夠?qū)ο到y(tǒng)log報(bào)告進(jìn)行分析,用于Linux日志的處理,下面小編給大家詳細(xì)介紹下Linux 中的Logwatch命令,感興趣的朋友一起看看吧
    2017-09-09
  • Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例

    Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例

    這篇文章主要介紹了Shell腳本編程中常用的數(shù)學(xué)運(yùn)算實(shí)例,包含最基本的加減乘除,還有質(zhì)數(shù)、偶數(shù)的判斷等,需要的朋友可以參考下
    2014-06-06
  • Shell腳本中$符號(hào)的嵌套使用方法小結(jié)

    Shell腳本中$符號(hào)的嵌套使用方法小結(jié)

    在編寫(xiě)Shell腳本時(shí),通過(guò)嵌套使用$符號(hào),間接獲取變量或表達(dá)式的值的具體方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-05-05
  • 備份shell腳本實(shí)例代碼

    備份shell腳本實(shí)例代碼

    備份shell腳本一例,有需要的朋友可以參考下
    2013-02-02

最新評(píng)論

长寿区| 民县| 邛崃市| 丰宁| 壶关县| 望江县| 辽源市| 武隆县| 祁阳县| 阿拉尔市| 搜索| 商洛市| 潼南县| 山东省| 漳州市| 凉山| 张掖市| 青龙| 巫山县| 松溪县| 花莲县| 金门县| 宁蒗| 灵川县| 澄迈县| 肥西县| 东辽县| 南溪县| 平原县| 安溪县| 达日县| 隆子县| 利川市| 杭州市| 肃南| 宿州市| 平顶山市| 新巴尔虎左旗| 昌乐县| 谷城县| 牟定县|