Linux shell awk模式使用

2022-06-30 12:09:12 字數 1861 閱讀 7245

以冒號為分隔符,顯示/etc/passwd以r開頭的行的第一段

[root@wei awk]# awk -f: '/^r/' /etc/passwd

root

以冒號為分隔符,顯示/etc/passwd以nologin結尾的行的第一段

[root@wei awk]# awk -f: '/nologin$/' /etc/passwd

bindaemon

admlp

mail

以冒號為分隔符,顯示/etc/passwd以r或者h開頭的行的第一段

[root@wei awk]# awk -f: '/^[rh]/' /etc/passwd

root

halt

hei

寫出/etc/的軟鏈結的名字

[root@wei awk]# ls -l /etc/ |awk '/^l/'

../boot/grub2/grub.cfg

-x 負值

+x 轉換為數值,正值

x^y x**y  次方

x/yx*y

x-yx+y

x%y

+:實現字串連線    "ab"+"cd"    abcd

=

+=-+

*=、=

%=^=

**=

xy

x>=y

x==y

x!=y

x~y:x為字串,y為模式,如果x可以被模式匹配則為真,否則為假

x!~y

&& 與

|| 或者

顯示uid大於等於500的使用者的及uid

[root@wei awk]# awk -f: '$3>=500' /etc/passwd

polkitd 999

saslauth 998

hei 1200

wei 1001

以冒號為分隔符,顯示uid=0到最後乙個欄位為nologin結尾中間所有的使用者名稱,uid及shell

[root@wei awk]# awk -f: '$3==0,$7~"nologin$"' /etc/passwd

root 0 /bin/bash

bin 1 /sbin/nologin

[root@wei awk]# awk -f: 'begin$3==0,$7 ~ "nologin$"' /etc/passwd

username  uid       shell               

root      0         /bin/bash 

bin       1         /sbin/nologin

[root@wei awk]# awk -f: 'begin$3==0,$7 ~ "nologin$"end' /etc/passwd

username  uid       shell               

root      0         /bin/bash 

bin       1         /sbin/nologin

end offile...

Linux shell awk陣列使用

一.陣列格式 陣列是乙個包含一系列元素的表.格式如下 abc 1 xiaohong abc 2 xiaolan 解釋 abc 為陣列名稱 1 2 為陣列元素下標,可以理解為陣列的第1個元素 陣列的第2個元素 xiaohong xiaolan 元素內容 陣列 arrray index expressi...

Linux shell awk陣列使用

一.陣列格式 陣列是乙個包含一系列元素的表.格式如下 abc 1 xiaohong abc 2 xiaolan 解釋 abc 為陣列名稱 1 2 為陣列元素下標,可以理解為陣列的第1個元素 陣列的第2個元素 xiaohong xiaolan 元素內容 陣列 arrray index expressi...

linux shell awk命令的簡單使用方法

1 awk是乙個強大的檔案分析工具 2 使用方法 awk 其中 pattern 表示 awk 在資料中查詢的內容,而 action 是在找到匹配內容時所執行的一系列命令。花括號 不需要在程式中始終出現,但它們用於根據特定的模式對一系列指令進行分組。pattern 就是要表示的正規表示式,用斜槓括起來...