标签:awk
目录 awk [options] ‘program‘ file…
program:pattern{action statements;..}
pattern和action:
?pattern部分决定动作语句何时触发及触发事件 BEGIN,END
? action statements对数据进行处理,放在{}内指明 print, printf
比较操作符:
== 等于
!= 不等于
大于
= 大于等于
< 小于
<= 小于等于
模式匹配符:
~:左边是否和右边匹配包含
!~:是否不匹配
例子
[root@centos6 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
只取前三行
[root@centos6 ~]# cat /etc/passwd | awk ‘NR<=3{print}‘
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologi
只取出用户名 格式为 name 用户名
[root@centos6 ~]# cat /etc/passwd | awk -F: ‘ NR<=3{ print "name", $1 }‘
name root
name bin
name daemon
取出用户名及其uid 格式为 name:用户名 uid:XXX
[root@centos6 ~]# cat /etc/passwd | awk -F: ‘ NR<=3{ printf "name: %-10s uid: %s\n", $1,$3}‘
name: root uid: 0
name: bin uid: 1
name: daemon uid: 2
取出用户root的信息
[root@centos6 ~]# cat /etc/passwd | awk -F: ‘ $1~"root"{ print $0}‘
root:x:0:0:root:/root:/bin/bash
标签:awk
原文地址:http://blog.51cto.com/13572749/2093460