加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

编写perl 脚本完成文本 字符串插入工作

发布时间:2020-12-16 00:28:47 所属栏目:大数据 来源:网络整理
导读:?因工作量太大,所以写了一个脚本完成自动化工作。工作内容是,在crontab中内容如下: ? */1?*?*?*?*?/home/nagios/nsca/nagios_check_ping.sh 192.168.1.1? /dev/null?2 1? 现在改为 ? */1?*?*?*?*?/home/nagios/nsca/nagios_check_ping.sh?192.168.1.1? mo

?因工作量太大,所以写了一个脚本完成自动化工作。工作内容是,在crontab中内容如下:

?

 
 
  1. */1?*?*?*?*?/home/nagios/nsca/nagios_check_ping.sh 192.168.1.1?>/dev/null?2>&1?

现在改为

?

 
 
  1. */1?*?*?*?*?/home/nagios/nsca/nagios_check_ping.sh?192.168.1.1?mobile?>/dev/null?2>&1?

要完成自动插入mobile的工作,crontab 的条目太多,不可能手工去插入。所以我的代码如下:

 
 
  1. #!/usr/bin/perl?-w??
  2. ?
  3. use?strict;?
  4. ?
  5. my?$crontab?=?"crontab.txt";?
  6. #?保存?crontab?到?crontab.txt?中?
  7. ?
  8. my?$result??=?`crontab??-l?>?$crontab`;?
  9. ?
  10. ?
  11. open?OUT,">?crontab2.txt"?||?die?"Cann't?open?the?file!?$!";?

  12. open?IN,"<?$crontab"?||?die?"Cann't?open?the?file!?$!";?
  13. ?
  14. ?
  15. my?$flag?=?1;?
  16. my?$count??;?
  17. while(<IN>){?
  18. ????????$count++;?
  19. ????????my?$line?=?$_;?
  20. ????????chomp?$line;?
  21. ????????open?MO,"<?mobile.txt"?||?die?"Cann't?open?the?file!?$!";?
  22. ????????while(<MO>)?{?
  23. ????????????????my?$ip_mobile?=?$_;?
  24. ????????????????chomp?$ip_mobile;?
  25. ????????????????my?@ip?=?split?/s+/,$ip_mobile;?
  26. ????????????????if?(?$line?=~?/$ip[0]/?){?
  27. ????????????????????????my?@temp??=?split?/s+/,$line;?
  28. ????????????????????????print??OUT?"?*/1?*?*?*?*?$temp[5]?$ip_mobile?>/dev/null?2>&1?n";?
  29. ????????????????????????$flag?=?1;?
  30. ????????????????????????last;?
  31. ????????????????}else?{?$flag?=?0;}?
  32. ????????}?
  33. ????????if($flag?==?0?){?
  34. ????????????????print?OUT?"$line?n";?
  35. ????????}?
  36. ????????$flag?=?1;?
  37. close?MO;?
  38. }?
  39. close?IN;?
  40. close?OUT;??

?

今天工作太累了,就不解释代码了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读