shell入门-awk-2
awk的条件操作符
///显示第一段有root的行
[root@wangshaojun ~]# awk -F ':' '$1=="root"' 1.txt
root:x:0:0:root:/root:/bin/bash
////显示第一段有root的行 打印第一段
[root@wangshaojun ~]# awk -F ':' '$1=="root"{print $1}' 1.txt
root
////第一段等于root或者第七段等于nologin的
[root@wangshaojun ~]# awk -F ':' '$1=="root" || $7~/nologin/ ' 1.txt
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
.....
///第三段大于等于500的
[root@wangshaojun ~]# awk -F ':' '$3>=500 ' 1.txt
wangshaojun:x:500:500::/home/wangshaojun:/bin/bash
shaojun:x:501:501::/home/shaojun:/bin/bash
aming:x:502:502::/home/aming:/bin/bash
///第七段不等于 /sbin/nologin
[root@wangshaojun ~]# awk -F ':' '$7!="/sbin/nologin" ' 1.txt
[root@wangshaojun ~]# awk -F ':' '$7!~/nologin/ ' 1.txt
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
wangshaojun:x:500:500::/home/wangshaojun:/bin/bash
shaojun:x:501:501::/home/shaojun:/bin/bash
aming:x:502:502::/home/aming:/bin/bash
第三段小于第四段的行
[root@wangshaojun ~]# awk -F ':' '$3<$4' 1.txt
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
......
第三段等于第四段的行
[root@wangshaojun ~]# awk -F ':' '$3==$4' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
....
////////////////////////////////////////////////////////////////////////////////////
总结:== < > !=