深入讨论awk

1.1深入讨论awk

记录和域,模式和动作,正则表达式和元字符

条件操作符

awk内置变量

NF,NR,和FILENAME

awk操作符

内置的字符串函数

字符串屏蔽序列

awk输出函数printf

awk数组

条件操作符


逻辑操作符


  1 #!/bin/bash
  2 #awk
  3 echo "210-290 network access : `awk '{if ($1~/^21[0-9]/) print $0}' cyf.log     |wc -l "
  4 echo "not 210-219 network access:`awk '{if ($1!~/^21[0-9]/} print $0}' cyf.l    og |wc -l`"
  5 echo "2004.7.7 access :`awk '{if~($4 /^\[07\/jul\/2004} print $0}' cyf.log |    wc -l `"
  6 echo "2004.7.7/htm/free_call.php access : `awk '{if ($4~/^\[07\/jul\/2004/}     print $0}' cyf.log |awk '{if ($7=="/htm/free_call.php") print $0}' |wc -l`"
awk内置变量










字符串函数








转义字符




printf修饰符








awk数组






  1 #!/bin/awk -f
  2 #awk_array.sh
  3 BEGINE{
  4     FS="#"
  5     score["0-60"]=0
  6     score["60-70"]=0
  7     score["70-80"]=0
  8     score["80-90"]=0
  9     score["90-100"]=0
 10     student["junior"]=0
 11     student["senior"]=0
 12 }
 13 {
 14     {if ($1<60)
 15         score["0-60"]++
 16     }
 17     {if ($1<70 && $1>=60)
 18         score["60-70"]++
 19     }
 20     {if ($1<80 && $1>=70)
 21         score["70-80"]++
 22     }
 23     {if ($1<90 && $1>=80)
 24         score["80-90"]++
 25     }
 26     {if ($1<100 && $1>=90)
 27         score["90-100"]++
 28     }
 29 }
 30 {
 31 for (senior_junior in student)
 32 {if $2==senior_junior)
 33     student[senior_junior]++
 34 }
 35 }
 36 END{
 37     {for (number in score) print "The score",number,"has",score[number],"stu    dents"}
 38     {for (senior_junior in student) print "The class has",student[senior_jun    ior],senior_junior,"students"}
 39 }



1.2深入讨论<<

  1 #!/bin/bash
  2 loopvar=2
  3 #############
  4 # main menu #
  5 #############
  6 main_menu ()
  7 {
  8     echo
  9     echo
 10     dis_mainmenu="CREATE NINSITE IN CYF"
 11     curdate=`date "+%Y-%m-%d %t"`
 12     cat <<mayday
 13                 DATE: $curdate
 14                 ==========================================
 15                     $dis_mainmenu
 16                 ==========================================
 17                     **  1)ADD MINISITE ACCOUNT       **
 18                     **  2)ADD DOMAIN IN CYF          **
 19                     **  3)ADD DATABASE IN MYSQL      **
 20                     **  4)ADD VIRTUAL HOST IN APACHE **
 21                     **  5)BACKUP MINISITE            **
 22                     **  6)DELETE MINISITE            **
 23                     **  7)EXIT               **
 24                 ==========================================
 25 mayday
 26 }
 27 while [ $loopvar -gt 0 ]
 28 do
 29 {
 30     main_menu
 31     echo -n "              please choose [1-7]:"
 32     read main_choice
 33     case $main_choice in
 34         7)
 35         exit
 36         ;;
 37         *)
 38         clear
 39         continue
 40         ;;
 41     esac
 42 }
 43 done


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yiluohan0307

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值