查看pid
$ ps aux | awk '{print $2}' | more

linux awk列数据处理工具使用示例_Linux

$1表示第一列
$0表示所有列
$11表示第十一列

查看/etc/passwd第7列
#第一种写法
$ awk -F: '{print $7}' /etc/passwd | more
/bin/bash
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/bin/sync
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
......
#第二种写法
$ awk 'BEGIN {FS=":"} {print $7}' /etc/passwd
/bin/bash
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/bin/sync
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
......

linux awk列数据处理工具使用示例_Linux_02
linux awk列数据处理工具使用示例_Linux_03

-F: 表示以:作为分隔符

判断表达式
$ cat product.txt 
productA 30
productB 50
productC 70
#第一种写法
$ awk '$2>50 {print $0} $2<=50 {printf("%s\t%s\n",$0,"要补货")}' product.txt 
productA 30	要补货
productB 50	要补货
productC 70
#第二种写法
$ awk '$2>50 {print $0} $2<=50 {print $0 "要补货"}' product.txt 
productA 30要补货
productB 50要补货
productC 70

linux awk列数据处理工具使用示例_Linux_04

计算空格的数量
$ cat spaces.txt 
iiiiiiiiiiiiiiiiii

llllllllllllllllll
,,,,,,,,,,,,,,,,,,

dddddddddddddddddd



rrrrrrrrrrrrrrrrrr
iiiiiiiiiiiiiiiiii

llllllllllllllllll
,,,,,,,,,,,,,,,,,,

dddddddddddddddddd
$ awk '/^ *$/{counter=counter+1} END {print counter}' spaces.txt 
7

linux awk列数据处理工具使用示例_Linux_05

/^ *$/表示以空格开始,也以空格结尾,即空行

统计某一范围内的pid
$ ps aux | awk '$2>6000 && $2<=6999 {counter=counter+1} END {print counter}'
24

linux awk列数据处理工具使用示例_Linux_06