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

六周第三次課(3月14日)

linux 筆記

六周第三次課(3月14日)
9.6/9.7 awk
擴展

9.6 awk(上)
把passwd文件拷貝到目錄awk,做實驗。
技術分享圖片

打印文檔中的某段

打印第1段的用法示例如下:
技術分享圖片

打印所有段的用法示例如下:
不需要制定分隔符
技術分享圖片

不制定分隔符,會以空格和空白字符為為空隔符去打印。
創建一個測試文件。
技術分享圖片
技術分享圖片

技術分享圖片

打印第1第3第4段的用法。中間要加逗號。
技術分享圖片

自定義分隔符為#,自定義的內容要加“”
技術分享圖片

打印包含某字符或字符串的行

打印含有oo的行,命令如下:
技術分享圖片

打印第1段含有oo的行,命令如下:
技術分享圖片

可以分段匹配,比sed強。

awk支持正則表達式。
技術分享圖片

打印第1段包含1個或多個o的行,命令如下:
技術分享圖片

打印第1段包含2個或多個o的行,命令如下:
技術分享圖片
awk不用加脫意字符

可以多個一起寫,示例命令如下:
技術分享圖片

技術分享圖片

技術分享圖片

數學運算表達式
技術分享圖片

技術分享圖片

技術分享圖片
加雙引號會按ASCII碼排序方式進行計算。需求是數字的,不要加雙引號。

打印第7段不等於1000的行,命令如下:
技術分享圖片
字符串要加上雙引號。

技術分享圖片

9.7 awk(下)
打印第3段比第4段小的行
技術分享圖片

打印第3段=第4段的行
技術分享圖片

兩個條件一起用
技術分享圖片

技術分享圖片

技術分享圖片

內置條件
技術分享圖片

OFS的用法示例如下:
技術分享圖片
{}和{}之間寫條件。

技術分享圖片
加if,在用{}括起來,比較規範。

行號打印出來
技術分享圖片

每行多少段打印出來
技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

賦值,輸出的結果,分隔符沒有了。
技術分享圖片

加上OFS,就有分隔符號。
技術分享圖片

計算第3段的總和。
技術分享圖片
{}裏是循環,剛開始tot默認是0,第1行第3段+第2行第3段,一直加。

六周第三次課(3月14日)