shell awk命令使用
awk是一个异常强大的命令
awk '条件1{动作1}条件2{动作2}...' 文件名
例子:创建文本students.txt 输入内容
[zzq@weekend110 ~]$ vim students.txt
[zzq@weekend110 ~]$ cat students.txt
id name age sex
1 zs 17 1
2 lisi 18 0
3 wangw 15 1
使用命令
[zzq@weekend110 ~]$ awk '{print $2 "\t" $4 }' students.txt
name sex
zs 1
lisi 0
wangw 1
查看磁盘已用空间的例子:这里和grep,cut合用
grep "/dev/sda2" :只得到/dev/sda2这行;awk '{print $5}':打印第五列; cut -d '%' :以“%”分割 ,-f 1 得到第一列
[zzq@weekend110 ~]$ df -h | grep "/dev/sda2" | awk '{print $5}' | cut -d '%' -f 1
48
再加上条件的命令:BEGIN 最开始的一行 ;{FS=":"} 以":"符号分割
[zzq@weekend110 ~]$ cat /etc/passwd | grep /bin/bash | awk 'BEGIN{FS=":"}{print $1 "\t" $3}'
root 0
zzq 500
mysql 27