1. 程式人生 > >awk常用選項舉例

awk常用選項舉例

awk

1.awk 的語法

awk [選項] ‘ print $1‘ 文件名

選項

-F 指定分隔符

比如:

awk -F: ‘{ print $1 }‘ /etc/passwd


$NF 最後一列

NR 行數 //註意沒有$


2.awk舉例

1、提取出/etc/passwd 文件當中,UID小於1000的用戶名信息和UID信息

[[email protected] ~]# awk -F : ‘ $3<1000 {print $1,$3}‘ /etc/passwd


2、提取出/etc/passwd文件當中,shell環境為”/bin/bash”的用戶信息有shell信息

[[email protected]

/* */ ~]# awk -F : ‘ $NF== "/bin/bash" {print $1,$NF}‘ /etc/passwd


3、提取出/etc/passwd文件當中,第一行到第5行的用戶名相關信息

[[email protected] ~]# awk -F : ‘ (NR>=1&&NR<=5) {print $1}‘ /etc/passwd


4、打印/et/passwd奇數行

[[email protected] ~]# awk -F : ‘{if (NR%2!=0) print $0}‘ /etc/passwd


5、 打印UID不等於GID的用戶名

[[email protected]

/* */ ~]# awk -F : ‘{if ($3!=$4) print $1}‘ /etc/passwd


6、awk提取ip地址

[[email protected] ~]# ip addr | grep ‘scope global‘ | awk ‘{print $2}‘| awk -F ‘/‘ ‘{print $1}‘

172.25.0.11


7.awk提取登錄用戶ip地址

[[email protected] ~]# who |tail -1|awk -F"[ ()]+" ‘{print$5}‘

192.168.10.1


註:cut 也可以用提取,這是cut只有分隔比較標準的情況下使用;

-c

-d 自定義分隔符

-f 指定哪個區域

[[email protected] ~]# cat /etc/passwd | head -2 | cut -d : -f 1




















本文出自 “feng” 博客,請務必保留此出處http://fengxiaoli.blog.51cto.com/12104465/1950919

awk常用選項舉例