当前位置 : 主页 > 操作系统 > centos >

规律批量下载51CTO运维趋势后引发的问题及反思 [第一次编辑]

来源:互联网 收集:自由互联 发布时间:2022-06-21
------------------- 蓝色粗体:人名 红色字体:加粗重点(或者作者PS) ---------------------------------- For循环语法: for 语法: for [condition] do command1 command1 commandN done 一、批量下载51cto运维趋势资源

-------------------

蓝色粗体:人名

红色字体:加粗重点(或者作者PS) ----------------------------------

 For循环语法:
  • for 语法:   
  • for [ condition ]    
  • do   
  •     command1   
  •     command1   
  •     commandN   
  • done   
  •   一、批量下载51cto运维趋势资源   煮酒品茶:无事逛的时候突然发现51运维趋势下载地址如下: http://os.51cto.com/os/linuxops/pdf/51CTO_linuxops_issue1.pdf一想,构造了个 http://os.51cto.com/os/linuxops/pdf/51CTO_linuxops_issue2.pdf可以下载,于是就有此脚本的前提。
    思路:循环后用wget批量下载。 #vim 51ctodown  
  • for((i=1;i<30;i++)) 
  • do 
  • wget http://os.51cto.com/os/linuxops/pdf/51CTO_linuxops_issue$i.pdf 
  • done 

  • #chmod +x 51ctodown #./51ctodown   二、写脚本批量重命名文件   煮酒品茶:下载后发现文件名并不是我们想要的。故动手操作一下。
    思路:文件名呈51CTO*.1.pdf 51CTO*.2.pdf ...方式,这个规律可找。那么我们要改完后的文件名如何来找呢?首先想到的是去官方找找有没有Linux运维趋势的目录,那样就非常简单了。结果悲剧了,最后把找着的文件进行筛选后得到可规律的顺序,然后再用for来重命名,没想到最后整了将近2,3个小时,幸好有dn833以及老男孩的指点才得以继续下去。看过程吧。   访问http://os.51cto.com/art/201011/233915.htm把发布通告给copy到一个文件中。命名为cc.html 以主题来查找标题并导出为cc1.html #cat cc.html |grep 主题>cc1.html  把年份给去掉 #awk -F"," '{ print $2 $3 }' ~/test/cc1.html>cc2.html ------------------------ [root@localhost test]# cat cc2.html 《趋势》12期主题:服务器故障排除 《趋势》特刊主题:Linux开发 #发现这个没用,册掉。 《趋势》第11期主题:iptables原理与常见应用场景 《趋势》第10期主题:日志分析技巧分享 《趋势》第9期主题:Puppet 《趋势》第8期主题:双机 《趋势》第7期主题:网站迁移 《趋势》第6期主题:备份 《趋势》第5期主题:内网开发环境 《趋势》第4期主题:性能瓶颈 《趋势》第3期主题:运维与开发 《趋势》第2期主题:可用性 《趋势》第1期主题:监控与报警 《趋势》第0期主题:运维自动化               #发现这个没用,册掉。 -------------------------------- 把顺序给弄反过来,更符合我们的需求。 # tac cc2.html >cc3.html --------------------------------- [root@localhost test]# cat cc3.html 《趋势》第1期主题:监控与报警 《趋势》第2期主题:可用性 《趋势》第3期主题:运维与开发 《趋势》第4期主题:性能瓶颈 《趋势》第5期主题:内网开发环境 《趋势》第6期主题:备份 《趋势》第7期主题:网站迁移 《趋势》第8期主题:双机 《趋势》第9期主题:Puppet 《趋势》第10期主题:日志分析技巧分享 《趋势》第11期主题:iptables原理与常见应用场景 《趋势》12期主题:服务器故障排除 -----------------------------------     #vim mvname  
  • for((i=1;i<=13;i++)) 
  • do 
  • #sed -n $ip 51cton1 
  • #echo $i 
  • mv 51CTO_linuxops_issue$i.pdf `sed -n "$i"p cc3.html`.pdf 
  • #sed -n "$i"p 51cton1 
  • #mv test 'sed -n '3p' 51cton1' 
  • #i=3 
  • #mv test `sed -n 'p' 51cton1` 
  • done 
  • ------------------------------- #chmod +x mvname #./mvname   最终结果: ------------------------------------------------ [root@localhost test]# ls 11                            51CTO_linuxops_issue2.pdf  a 51cto                         51CTO_linuxops_issue3.pdf  cc1.html 51cto1                        51CTO_linuxops_issue4.pdf  cc2.html 51CTO_linuxops_issue10.pdf    51CTO_linuxops_issue5.pdf  cc3.html 51CTO_linuxops_issue11.pdf    51CTO_linuxops_issue6.pdf  cc.html 51CTO_linuxops_issue12.pdf    51CTO_linuxops_issue7.pdf  centos-init 51CTO_linuxops_issue13.pdf    51CTO_linuxops_issue8.pdf  mvname 51CTO_linuxops_issue15.pdf    51CTO_linuxops_issue9.pdf  wd 51CTO_linuxops_issue15.pdf.1  51cton 51CTO_linuxops_issue1.pdf     51ctoname [root@localhost test]# ./mvname [root@localhost test]# ls 11                            wd 51cto                         《趋势》12期主题:服务器故障排除.pdf 51CTO_linuxops_issue15.pdf    《趋势》第10期主题:日志分析技巧分享.pdf 51CTO_linuxops_issue15.pdf.1  《趋势》第11期主题:iptables原理与常见应用场景.pdf 51cton                        《趋势》第1期主题:监控与报警.pdf 51ctoname                     《趋势》第2期主题:可用性.pdf a                             《趋势》第3期主题:运维与开发.pdf cc1.html                      《趋势》第4期主题:性能瓶颈.pdf cc2.html                      《趋势》第5期主题:内网开发环境.pdf cc3.html                      《趋势》第6期主题:备份.pdf cc.html                       《趋势》第7期主题:网站迁移.pdf centos-init                   《趋势》第8期主题:双机.pdf mvname                        《趋势》第9期主题:Puppet.pdf ---------------------------------------------------------------   煮酒品茶:好累,在写重命名规则的时候,一直找问题。mv 51CTO_linuxops_issue$i.pdf `sed -n "$i"p 
    cc3.html`.pdf 这一段弄的我想死的心都有,sed 后变量好像是固定的。-n '$ip' -n "$ip" -n '$i'p 都不行 最后一一排查,得出sed -n "$i"p filename 才完成。才有上面那么多的#...也小小的反思了一下。在有问题的时候百度,以及找前辈们指导是王道。那么后续了?心有点小急,浪费了这么多的时间。一直以为脚本出错,循环出错,就没想到是sed后变量出错。以后排查问题得细心加耐心。另本文只提供思路,实际操作过程很简单,高手勿笑。   更新:dn833的建议非常好啊,越前越好,脚本能简就简。不过得先把目录给定义好才能够下载。适于自动化吧 ------------------------------ 北京--dn833 15:48:22  其实你wget的时候就能指定输出名的 ------------------------------ Wget时就重命名:  
  • for((i=1;i<30;i++)) 
  • do 
  • wget http://os.51cto.com/os/linuxops/pdf/51CTO_linuxops_issue$i.pdf 
  • mv 51CTO_linuxops_issue$i.pdf `sed -n "$i"p cc3.html`.pdf 
  • done 
  • 看张效果图吧: 规律批量下载51CTO运维趋势后引发的问题及反思 [第一次编辑]_批量下载51cto运维趋抛    

    规律批量下载51CTO运维趋势后引发的问题及反思 [第一次编辑]_批量下载51cto运维趋抛_02

      参考链接:(老男孩大哥)http://oldboy.blog.51cto.com/2561410/711342/ 感谢:老男孩大哥以及51CTO.com-linux.dn833的大力指导          

     

    上一篇:CentOS 6.2源码安装drbd-8.4
    下一篇:没有了
    网友评论