作用:打印第一行第一列的字符
实例:
[root@zhangruilin ~]# awk -F: 'NR==1{print $1}' passwd root 命令名称:awk -F: ‘NR==1{print $(NF)}’ passwd作用:将passwd的第一行的最后一列打印出来
实例:
[root@zhangruilin ~]# awk -F: 'NR==1{print $(NF)}' passwd /bin/bash 命令名称:awk -F: ‘NR==1{print $(NF-1)}’ passwd作用:将passwd的第一行的倒数第二列打印出来
实例:
[root@zhangruilin ~]# awk -F: 'NR==1{print $(NF-1)}' passwd /root 命令名称: ip a|grep ‘inet ‘|awk -F’[ /]+’ ‘NR==2{print $3}’作用:查看ip并且过滤出inet的第二行ip地址
实例:
[root@zhangruilin ~]# ip a|grep 'inet '|awk -F'[ /]+' 'NR==2{print $3}' 192.168.90.128 命令名称:awk ‘/J.lulu/{print $2}’ chengji作用:查看成绩文件以J.lulu开头并且打印第二列的字符
实例:
[root@zhangruilin ~]# awk '/J.lulu/{print $2}' chengji 06/99 命令名称: awk ‘/J.lulu/{print $2}’ chengji|tee helld.txt作用:打印J.lulu的第二列的字符并存放在helld.txt文件里
实例:
[root@zhangruilin ~]# awk '/J.lulu/{print $2}' chengji|tee helld.txt 06/99 命令名称: awk ‘BEGIN{print “name date”} {print $1,$2} END{print “END”}’ chengji作用:打印第一列和第二列的所有字符,并且开头是name date 结尾是END
实例;
[root@zhangruilin ~]# awk 'BEGIN{print "name date"} {print $1,$2} END{print "END"}' chengji name date M.Tansley 05/99 J.lulu 06/99 J.abcu 06/99 A.haha 09/19 B.kaka 10/19 END 命令名称:awk -f test.awk chengji作用:加-f是执行脚本里面的内容
实例:
[root@zhangruilin ~]# cat test.awk #!/usr/bin/awk {print $2} [root@zhangruilin ~]# awk -f test.awk chengji 05/99 06/99 06/99 09/19 10/19 命令名称:awk ‘{print $1"\t"$3}’ chengji作用:打印第一列和第三列并且以tab隔开
实例:
[root@zhangruilin ~]# awk '{print $1"\t"$3}' chengji M.Tansley 48311 J.lulu 48317 J.abcu 48317 A.haha 50000 B.kaka 50001 命令名称:awk ‘/[Gg]reen/{print $(NF-1)}’ chengji作用:打印cehngji文件的G和g开头的绿带并且打印倒数第二列
实例:
[root@zhangruilin ~]# awk '/[Gg]reen/{print $(NF-1)}' chengji 40 24 24 命令名称: awk ‘{if($5<20) print $0}’ chengji作用:打印chengji文件如果第5列的字符小于20那么就打印一整行
实例:
[root@zhangruilin ~]# awk '{if($5<20) print $0}' chengji M.Tansley 05/99 48311 Green 8 40 44 J.lulu 06/99 48317 green 9 24 26 J.abcu 06/99 48317 green 9 24 26 命令名称:awk ‘$3 ~ /50000/{print $0}’ chengji作用:打印chengji文件第三列等于50000就打印一整行
实例:
[root@zhangruilin ~]# awk '$3 ~ /50000/{print $0}' chengji A.haha 09/19 50000 Blue 20 50 55 命令名称:awk ‘$4 ~ /(Green|green)/’ chengji作用:打印成绩的第4列是Green和green的
实例:
[root@zhangruilin ~]# awk '$4 ~ /(Green|green)/' chengji M.Tansley 05/99 48311 Green 8 40 44 J.lulu 06/99 48317 green 9 24 26 J.abcu 06/99 48317 green 9 24 26 命令名称:awk ‘/^A/’ chengji作用:打印成绩以A开头的所有
实例:
[root@zhangruilin ~]# awk '/^A/' chengji A.haha 09/19 50000 Blue 20 50 55 命令名称:awk ‘$1 ~ /A.haha/ && $4 ~ /Blue/’ chengji作用:打印chengji文件的第一列是A.haha并且第4lie是Blue的所有
实例:
[root@zhangruilin ~]# awk '$1 ~ /A.haha/ && $4 ~ /Blue/' chengji A.haha 09/19 50000 Blue 20 50 55 命令名称:awk ‘END{print FNR}’ passwd作用:查看passwd文件的行数
实例:
[root@zhangruilin ~]# awk 'END{print FNR}' passwd 31 命令名称:awk -F: ‘{print NF}’ passwd作用:显示passwd每一列的行数
实例:
[root@zhangruilin ~]# awk -F: '{print NF}' passwd 7 7 7 7 7 7 7 7 命令名称:awk -F: ‘NR==2’ passwd作用:显示passwd的第二行内容
实例:
[root@zhangruilin ~]# awk -F: 'NR==2' passwd bin:x:1:1:bin:/bin:/sbin/nologin 命令名称: awk -F: ‘{print NF,NR,$0}’ passwd作用:查看passwd的有多少列和有多少行
实例:
[root@zhangruilin ~]# awk -F: '{print NF,NR,$0}' passwd 7 1 root:x:0:0:root:/root:/bin/bash 7 2 bin:x:1:1:bin:/bin:/sbin/nologin 7 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 7 4 adm:x:3:4:adm:/var/adm:/sbin/nologin 7 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 7 6 sync:x:5:0:sync:/sbin:/bin/sync 7 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 7 8 halt:x:7:0:halt:/sbin:/sbin/halt 7 9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 7 10 operator:x:11:0:operator:/root:/sbin/nologin 7 11 games:x:12:100:games:/usr/games:/sbin/nologin 7 12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 命令名称: awk -F: ‘{name=$1;uid=$3;if(name ~ /mafei/)print name,“and”,uid}’ passwd作用:定义变量name=第一列,uid=第三列,如果name是马飞的话就打印name的变量和uid的变量
实例:
[root@zhangruilin ~]# awk -F: '{name=$1;uid=$3;if(name ~ /mafei/)print name,"and",uid}' passwd mafei and 1104 命令名称:awk ‘{if($3 > 50)print $0}’ passwd作用:如果第3列的数字大于50就打印一整行。
实例:
[root@zhangruilin ~]# awk '{if($3 > 50)print $0}' passwd systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin 命令名称:awk -F: ‘NR==2{if($1 ~ /bin/) $3=$3+50;print $0}’ passwd作用:如果第2行的第一列是bin的话,就将第3的数字加20,并打印整行
实例:
[root@zhangruilin ~]# awk -F: 'NR==2{if($1 ~ /bin/) $3=$3+50;print $0}' passwd bin x 51 1 bin /bin /sbin/nologin 命令名称:awk -F: ‘NR==2{if($1 ~ /bin/)($1=“haha”);print $1}’ passwd作用:如果第一列是bin就将第一列改成哈哈,并且打印第一列第一行
实例:
[root@zhangruilin ~]# awk -F: 'NR==2' passwd bin:x:1:1:bin:/bin:/sbin/nologin [root@zhangruilin ~]# awk -F: 'NR==2{if($1 ~ /bin/)($1="haha");print $1}' passwd haha 命令名称:awk -F: ‘{total+=$3}END{print"The club student is:" total}’ passwd作用:把第三列的所有数字赋值给total,然后打印第3列数字之和
实例:
[root@zhangruilin ~]# awk -F: '{total+=$3}END{print"The club student is:" total}' passwd The club student is:14375 命令名称: awk ‘{total+=$6;print$0} END{print"The club student is:" total}’ chengji作用:打印第6列的数字之和,并且列出所有行数
实例:
[root@zhangruilin ~]# awk '{total+=$6;print$0} END{print"The club student is:" total}' chengji M.Tansley 05/99 48311 Green 8 40 44 J.lulu 06/99 48317 green 9 24 26 J.abcu 06/99 48317 green 9 24 26 A.haha 09/19 50000 Blue 20 50 55 B.kaka 10/19 50001 Black 40 60 70 The club student is:198 命令名称:ll -h|awk '/^[^d]/{print $9"\t"$5} {total+=5} END{print "total kb:" total"k"}'作用:将当前目录的内容开头是d以外的所有第9列之和打印出来
实例:
[root@zhangruilin ~]# ll -h|awk '/^[^d]/{print $9"\t"$5} {total+=5} END{print "total kb:" total"k"}' a 0 chengji 185 passwd 1.4K total kb:30k 命令名称: awk ‘$1==“A.haha”{print length($1),$1}’ chengji作用:将第一列是A.haha匹配出来,然后并打印第一列的第一个数字和字符长度 实例:
[root@zhangruilin ~]# awk '$1=="A.haha"{print length($1),$1}' chengji 6 A.haha 命令名称:echo |awk ‘BEGIN{print split(“123#456#789”,haha,"#")}{print haha[2]}’作用:使用split返回字符串数组元素个数,定义一个haha参数,以#为分隔符,打印第2 个参数
实例:
`[root@zhangruilin ~]# echo |awk 'BEGIN{print split("123#456#789",haha,"#")}{print haha[2]}' 3 456