$ ps aux | awk '{print $2}' | more
查看/etc/passwd第7列$1表示第一列
$0表示所有列
$11表示第十一列
#第一种写法
$ 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
......
判断表达式
-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
$ cat spaces.txt
iiiiiiiiiiiiiiiiii
llllllllllllllllll
,,,,,,,,,,,,,,,,,,
dddddddddddddddddd
rrrrrrrrrrrrrrrrrr
iiiiiiiiiiiiiiiiii
llllllllllllllllll
,,,,,,,,,,,,,,,,,,
dddddddddddddddddd
$ awk '/^ *$/{counter=counter+1} END {print counter}' spaces.txt
7
统计某一范围内的pid
/^ *$/
表示以空格开始,也以空格结尾,即空行
$ ps aux | awk '$2>6000 && $2<=6999 {counter=counter+1} END {print counter}'
24