婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > awk正則表達式和內置函數的使用方法實例詳解

awk正則表達式和內置函數的使用方法實例詳解

熱門標簽:旅游地圖標注大全 地圖標注超出范圍怎么辦 百度地圖標注圖標更換 佛山高德地圖標注中心 excel地址地圖標注 杭州機器人外呼系統 陜西電銷卡外呼系統怎么安裝 百度地圖的地圖標注 東莞電銷機器人價格一覽表

awk正則表達式及內置函數實例詳解:

1、模糊匹配:

復制代碼 代碼如下:

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

2、精確匹配:

復制代碼 代碼如下:

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

3、大小寫匹配:

復制代碼 代碼如下:

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

4、任意匹配:

復制代碼 代碼如下:

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

5、,||:

復制代碼 代碼如下:

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、修改數值(源文件數值不變)

復制代碼 代碼如下:

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

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

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

8、創建新域:(源文件數值不變)

復制代碼 代碼如下:

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、數據統計:

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

10、統計文件大小:

復制代碼 代碼如下:

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

11、Awk內置變量:

ARGC 命令行參數個數

ARGV 命令行參數排列

ENVIRON 支持隊列中系統環境變量的使用

FILENAME awk瀏覽的文件名

FNR 瀏覽文件的記錄數

FS 設置輸入域分隔符,等價于命令行- F選項

NF 瀏覽記錄的域個數

NR 已讀的記錄數

OFS 輸出域分隔符

ORS 輸出記錄分隔符

RS 控制記錄分隔符

12、awk內置字符串處理函數

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

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

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

length ( s )返回s長度

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

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

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

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

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

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

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

復制代碼 代碼如下:

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

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, “#”)}':返回數組元素個數,123#234#654是字符串,以“#”為分隔符,將字符串放入數組。

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的行數

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

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

復制代碼 代碼如下:

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

awk ‘{printf “%-15s %s\n”,$2,$3}' data.f:“%-15s”左對齊15個字符長度

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

您可能感興趣的文章:
  • 詳解Linx awk 入門教程
  • Linux中的awk數組的基本使用方法
  • 淺談linux中sed命令和awk命令的使用
  • LINUX中詳解AWK內建變量FS,NF,NR,RT,RS,ORS,OFS
  • Linux中 sed 和 awk的用法詳解
  • 一天一個shell命令 linux文本內容操作系列-awk命令詳解
  • linux正則表達式awk詳解
  • Shell正則表達式之grep、sed、awk實操筆記
  • 馬爾可夫鏈算法(markov算法)的awk、C++、C語言實現代碼
  • awk命令、awk編程語言詳細介紹和實例
  • Linux awk將文件某列按照逗號分隔的例子

標簽:隨州 延邊 雅安 朝陽 青島 通遼 南充 西藏

巨人網絡通訊聲明:本文標題《awk正則表達式和內置函數的使用方法實例詳解》,本文關鍵詞  awk,正則,表達式,和,內置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《awk正則表達式和內置函數的使用方法實例詳解》相關的同類信息!
  • 本頁收集關于awk正則表達式和內置函數的使用方法實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 葫芦岛市| 重庆市| 汕尾市| 阳曲县| 五峰| 泸定县| 昭通市| 米脂县| 监利县| 长岛县| 广宁县| 启东市| 山丹县| 嘉兴市| 新化县| 吉木萨尔县| 民乐县| 师宗县| 武定县| 扎赉特旗| 东山县| 十堰市| 西乌珠穆沁旗| 菏泽市| 泰和县| 高要市| 民权县| 长垣县| 卢湾区| 亚东县| 肃宁县| 中西区| 荣昌县| 定襄县| 高安市| 巴东县| 汨罗市| 宁海县| 江阴市| 娄烦县| 辛集市|