用shell script查看五大联赛积分表

阅读: 评论:0

用shell script查看五大联赛积分表

用shell script查看五大联赛积分表

        平时很少能有时间和精力收看五大联赛的直播,可还是比较关注赛程赛况,但是上网查看信息,要点很多链接,上周写了一个用awk来下载YouTube视频的程序,这次仍然想用gawk提供的网络功能完成这样一个程序,但是遇到了不小的困难,例如我需要在BEGIN过程中获取排名信息的网页,并利用regular expressions对该网页进行多次过滤。于是想到用sed与awk的组合来完成这项工作,另外获取网页用的是curl,比gawk中分析http头的方法又简单得多了,程序在Cygwin中运行起来是这个样子:

 

 


       

 

        下面是代码,正则表达式的部分也不难,就不解释了。为了在awk中很好的区分RS,特意用sed在记录之间加了一行‘#’,这个地方实现的不够精巧,如果不这样,RS设置为空行,FS设置为换行符又不能很好的得到结果,也许RS和FS中的正则表达式没有写好,有兴趣的我们可以交流交流。

 

  1. #! /usr/bin/bash
  2. ################################################################################
  3. #Program:        获取五大联赛球队积分的script程序
  4. #
  5. #Author:         hailongchang@163
  6. #
  7. #Date:           2008/11/17
  8. ################################################################################
  9. function usage(){
  10. echo  "请选择您要查看的联赛排名:"
  11. echo 
  12. echo  "1      英格兰足球超级联赛"
  13. echo  "2      意大利足球甲级联赛"
  14. echo  "3      德国足球甲级联赛"
  15. echo  "4      西班牙足球甲级联赛"
  16. echo  "5      法国足球甲级联赛"
  17. echo 
  18. read -p   "请选择序号: "  choice
  19. case  $choice in
  20. "1" )
  21.        name= "epl"
  22.        ;;
  23. "2" )
  24.        name= "seri"
  25.        ;;
  26. "3" )
  27.        name= "bund"
  28.        ;;
  29. "4" )
  30.        name= "liga"
  31.        ;;
  32. "5" )
  33.        name= "fran"
  34.        ;;
  35. *)
  36.        usage
  37.        ;;
  38. esac
  39. }
  40. usage
  41. DataBase= ".aspx?lega="
  42. if  [ -n $name ]; then
  43.     Address=$DataBase${name}
  44. fi
  45. curl $Address 2>/dev/null |
  46. sed -e '
  47. s/<[//]*html> //g;
  48. s/<[//]*body> //g;
  49. s/<[//]*script[^>]*> //g;
  50. s/<[//]*table[^>]*> //g;
  51. s/<[//]*div[^>]*> //g;
  52. s/<[//]*form[^>]*> //g;
  53. s/<[//]*td[^>]*> //g;
  54. s/<[//]*tr[^>]*> //g;
  55. s/<[//]*a[^>]*> //g;
  56. s/.*[;{}>]$ //g;
  57. ' | sed -e ' s/[ /t]* //g;s/[0-9]/{1,4/}-[0-9]/{1,4/}.*//g;/^$/d' | sed -e '
  58. 1i ################################
  59. 11i ################################
  60. 21i ################################
  61. 31i ################################
  62. 41i ################################
  63. 51i ################################
  64. 61i ################################
  65. 71i ################################
  66. 81i ################################
  67. 91i ################################
  68. 101i ################################
  69. 111i ################################
  70. 121i ################################
  71. 131i ################################
  72. 141i ################################
  73. 151i ################################
  74. 161i ################################
  75. 171i ################################
  76. 181i ################################
  77. 191i ################################
  78. 201i ################################
  79. 211i ################################
  80. 221i ################################
  81. 231i ################################
  82. ' | awk '
  83. BEGIN{
  84. RS= "################################/n"
  85. FS= "/n"
  86. #OFS="/t"
  87. }
  88. {
  89. printf( "%4s/t%10s/t%4s/t%4s/t%4s/t%4s/t%4s/t%4s/t%4s/t%4s/t/n" ,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10)
  90. }'

 

 

 

本文发布于:2024-01-29 13:31:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170650628615619.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:五大   联赛   积分   shell   script
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23