perl处理文本
公司大批量添加***用户,如果一个一个添加手就脱臼了 http://blog.51cto.com/neweditor/editor/images/smiley/22.gif ...主配置文件change.conf大体如下:
li.jie pptpd Li.jiE 192.168.1.1
dong.zhuo pptpd Dong.zhuO 192.168.1.2
.... ......
姓.名 服务名 姓.名(首大写,尾大写)192.168.1.X
将员工的名字写到一文件中.name
li.jie
dong.zhuo
zhang.ye
再附上脚本:
脚本写的挺菜得,高手见笑了...http://blog.51cto.com/neweditor/editor/images/smiley/7.gif
[*]#!/usr/bin/perl -w
[*]use warnings;
[*]use strict;
[*]=pod
[*]print >change.conf" or die " >> change.conf:$!\n";
[*]chomp (my @name = );
[*]chomp (my @conf = );
[*]my @num;
[*]foreach (@conf){
[*] $_ =~ m/.*(?:\d+\.){3}(\d+)/;
[*] push(@num,$1);
[*]}
[*]my $num = $num[-1];
[*]my $IP = "192.168.1.";
[*]foreach my $name(@name){
[*] my $str = $name;
[*] $num ++;
[*]# $name =~ s/(\w)(\w+\.\w+)(\w)/\U$1\L$2\U$3/;
[*] $name .= uc(chop $name);
[*] print FILE "$str\tpptpd\t\"\u$name\"\t${IP}${num}\n" if (!(grep {/$str/i}@conf));
[*]}
页:
[1]