日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

awk 6.0 — awk模式之二

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 awk 6.0 — awk模式之二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

awk的語法

awk [options] ‘Pattern {Actions}’ file1,file2…

之前介紹了三種模式:空模式,關系運算模式,BEGIN/END模式

正則模式

模式可以理解成條件,正則模式就是滿足正則表達式條件的,就執行相應的動作,否則不執行。
如果我們想要找到在/etc/passwd文件中,以“_krb”開頭的內容該如何找呢

grep "^_krb" /etc/passwd

同樣的,我們想要使用awk的方式完成這個操作,

awk '/^_krb/{print $0}' /etc/passwd

比較一下上面兩種方式,grep將正則表達式放在了雙引號中,awk將正則表達式放在了兩個反斜杠中。

上面示例看上去是grep更加的簡介,但是有一些具體的case的時候,awk顯得更加美觀。awk有格式化輸出的功能。請讀者嘗試著讀下面的使用方式:

注意點:1. 如果在awk的正則中使用了/,這個時候就需要使用轉義字符,假如下面的需求,我們想要從passwd文件中,找到/bin/bash作為登陸shell的用戶,

awk '\/bin\/bash$/{print $0} /etc/passwd'

注意點:2. 如果在正則中,需要使用形如{x,y}這種類型的表達式的時候,需要使用–posix,或者–re-interval選項

awk --posix '/he{2,3}y/{print $0} test'

行范圍模式

假如有下面的文件(為了截圖方便,我把文件和操作放在一起了)

文件中,hello出現了兩次,world出現了一次,如果我想篩選出,hello第一次出現和world第一次出現中的所有行的內容,就使用上面的方式
總結一下就是,使用兩個正則表達式,匹配所有的行,意思就是從第一個正則開始,到第二個正則結束匹配所有的行。

行范圍模式另外一種方式,可以使用關系運算模式進行解決,比如打印3-6行的數據。

awk 'NR>=3 && NR<=6 {print $0}' test

總結

以上是生活随笔為你收集整理的awk 6.0 — awk模式之二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。