1. 程式人生 > >六周第三次課(1月17日)

六周第三次課(1月17日)

1.4 inb 比較 以及 不同 查找 red 相對 itl

六周第三次課(1月17日)
9.6/9.7 awk

awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本: awk、nawk和gawk,未作特別說明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名稱得自於它的創始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首個字母。實際上 AWK 的確擁有自己的語言: AWK 程序設計語言 , 三位創建者已將它正式定義為“樣式掃描和處理語言”。它允許您創建簡短的程序,這些程序讀取輸入文件、為數據排序、處理數據、對輸入執行計算以及生成報表,還有無數其他的功能。


技術分享圖片

技術分享圖片


awk -F ":" "{print $1}" test.txt 指定分割f為: 把第一段打印出來

技術分享圖片

$0表示所有的段

技術分享圖片

打印所有的段 相當於cat

技術分享圖片

不指定分割f,默認以空格或空白為分割進行打印

技術分享圖片

指定分割f,打印多段

技術分享圖片

指定中間以什麽為分割

技術分享圖片

技術分享圖片

把包含oo的打印出來 awk "/oo/"

技術分享圖片

匹配第一段包含oo的行

技術分享圖片

適用正則表達式 且不用加脫義字符

技術分享圖片

支持多個表達式一起寫

技術分享圖片

技術分享圖片

技術分享圖片

打印第三段等於0的行 要寫2個=,寫1個=是賦值,不寫print默認是print $0

技術分享圖片


打印大於等於1000的

技術分享圖片

加上雙引號,以ASCII碼計算,會認為這是一個字符串 需求如果是針對數字的不要加雙引號

技術分享圖片

第七段不等於!= 字符串要加上雙引號

技術分享圖片

比較2個字段 第三段小於第四段 相等的行

技術分享圖片

多個判斷一起 $3>5並且$3<7

技術分享圖片

技術分享圖片

技術分享圖片

-F指定分割前的分割f,OFS=指定print時分割後用到的分割f

技術分享圖片

技術分享圖片

技術分享圖片

NR 表示行 類似grep -n NF表示段

技術分享圖片 技術分享圖片

NR作為判斷條件

技術分享圖片

技術分享圖片

NF作為判斷條件

技術分享圖片

$1$7到$30$7 $NF指最後一段

技術分享圖片

$1=root 賦值,以:分割打印,賦值為root,賦值之後分割f沒了,使用OFS定義分割F

技術分享圖片

技術分享圖片

求和第三段所有值的和

技術分享圖片




擴展

把這裏面的所有練習題做一下
技術分享圖片http://www.apelearn.com/study_v2/chapter14.html


六周第三次課(1月17日)