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







posted on 2017-01-14 23:42  愤怒的苹果ext  阅读(17)  评论(0编辑  收藏  举报

导航