35 shell程式設計 awk之模式匹配的用法

2021-10-07 10:01:17 字數 1212 閱讀 9161

實戰:

# 匹配/etc/passwd檔案中含有root的字串的所有行

awk'begin/root/' /etc/passwd

# 匹配/etc/passwd檔案中^yarn開頭的所有行

awk'begin/^yarn/' /etc/passwd

運算符號

含義<

>

<=

>===~

匹配正規表示式

!~不匹配正規表示式

實戰

# 已:為分隔符號,匹配/etc/passwd檔案中第3個字段小於50行所有的資訊

awk'begin$3

<50' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd檔案中第3個字段大於50行所有的資訊

awk'begin$3>50' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd檔案中第7個字段為/bin/bash所有行的資訊

awk'begin$7=="/bin/bash"' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd檔案中第7個字段不為/bin/bash的所有行資訊

awk'begin$7!="/bin/bash"' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd中第三個字段包含3個數字以上的所有行資訊

awk'begin$3~/[0-9]/' /etc/passwd

運算符號

含義||&&!

實戰

# 已:為分隔符號,匹配/etc/passwd檔案中第乙個字元包含hdfs或yarm的所有行資訊

awk'begin$1~/hdfs/ || $1~/yarn/' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd檔案中所有第三個字段小於50並且第四個字段大於50的所有行資訊

awk'begin$3

<50&&$4>50' /etc/passwd

# 已:為分隔符號,匹配/etc/passwd檔案中所有第三個字段小於50並且第乙個字段包含root的所有行資訊

awk'begin$3

<50&&$1~/root/' /etc/passwd

shell程式設計 awk基礎

語法格式 一awk begin patternend file name 二standard output awk begin patternend 基本格式 awk begin patternend begin 文字處理前所做的處理 pattern 對文字具體的處理 end 文字處理後所做的處理 ...

shell指令碼之awk

一 什麼是awk awk其實相當於一門可以處理資料文字的語言,這麼說的原因是其具有很多類c語言的語法,如 變數,陣列,函式,流程控制等,其由aho,weinberger,kernighan大約在1977年開發完成,隨後被引入unix linux中。二 awk可以幹什麼 awk是乙個非常強大的資料處理...

Shell程式設計四劍客之AWK

awk是乙個優良的文字處理工具,linux 及unix 環境中現有的功能最強大的資料處理引擎之一,以aho weinberger kernighan三位發明者名字首字母命名為awk,awk是乙個行級文字高效處理工具,awk經過改進生成的新的版本有nawk gawk,一般linux預設為gawk,ga...