awk匹配案例

2022-05-07 06:42:11 字數 1035 閱讀 6282

**:

收藏一些關於awk常用的案例

awk -f":" '' /etc/passwd 列印包含root的行

awk -f":" '/root/' /etc/passwd   匹配root,並列印第一列

awk -f":" '$4==100 ' /etc/passwd  列印第四列等於100的行

awk -f":" '$1 !~ /root/ ' /etc/passwd   列印不包含root的行

awk -f":" '$1 != 「root」 ' /etc/passwd   列印第一列不等於root的行

awk -f":" '$3 < $4 ' /etc/passwd  如果第三列小於第四列,則列印此行

awk -f":" '$3 + $4 == 155 ' /etc/passwd   匹配兩列之和為155

awk -f":" ' ' /etc/passwd  列印兩列相加結果

awk '/[rr]oot/' /etc/passwd  區配某欄位

awk '/^...s/' /etc/passwd     抽取名字,其記錄第一域的第四個字元是a,使用句點.。表示式/ ^ . . . a /意為行首前三個字元任意,第四個是a,尖角符號代表行首

awk '/(root|net|ucp)/' /etc/passwd   匹配包含root或net或ucp的任意行

awk '/^[0-9]/' group.txt     匹配以數字開頭的行

awk 'nr>0 && nr<10' passwd 列印0-10之間的行

awk -f: 'nf>7 ' passwd  列印大於7列的行

awk -f: '' passwd  如果第31行超過8列,就列印這一行的第1列

awk 'gsub(/root/,"admin") ' passwd 將包含/root的字段替換為admin

awk -f: 'length($1)==4 ' passwd   如果第一列長度為4則列印此行

awk '$3==day ' day=`date +%d` /tmp/te.log   將命令傳給awk

awk 使用案例

awk 語言的最基本功能是在檔案或字串中基於指定規則瀏覽和抽取資訊,awk 抽取資訊後,才能進行其他文字操作,完整的 awk 指令碼通常用來格式化文字檔案中的資訊 語法格式 awk 選項 指令 操作檔案 常用選項 f 指定分隔符,分隔符用 引起來 不加任何引數預設為空格分隔 定位行號 使用nr ro...

awk統計案例

1 統計系統中各種型別的shell awk f end etc passwd books linux books linux 1 shells bin bash shells sbin nologin bin bash 5 sbin nologin 6 shells bin bash a shell...

awk匹配整行

如果沒有指定操作,則單個正規表示式將對整行進行模式匹配,並列印出所匹配的行。可以使用元字元 來表示需要進行行首匹配的正規表示式。範例 cat employees tom jones 44245 12 66543354 mary adams 534611 4 6328765 sally chang 1...