ITPub博客

首页 > IT职业 > IT生活 > 寻找缺失的铃音

寻找缺失的铃音

原创 IT生活 作者:wangzh3 时间:2005-11-29 16:41:39 0 删除 编辑
由于种种原因,彩铃网关铃音ftp服务器上有部分铃音不再正确的位置或者丢失了,使用下面的程序可以列出丢失的铃音文件以及不在正确位置的铃音。[@more@]

#name:find_lack.pl
#function:找到缺少的铃音id
#use:
# 1、放在铃音ftp服务器的根路径下,需要提供一个文件,就是s50ring表对应的信息,铃音的allindex,ringid
# 2、s50ring.txt: allindex,ringid select allindex||','||ringid from s50ring where conditions
# 3、程序使用办法:进入命令行 find_lack.pl s50ring.txt (s50ring.txt 名字可以不同,但是要放在同一路径下,文件内容及格式见上一条)
#author:wang.zhihong1@zte.com.cn 20050627 Rev 1.0

use strict;
use warnings;
use File::Path;
use File::Basename;
use File::Spec::Win32;
use File::Find;
use File::Copy;
use Cwd;

my $numargs = @ARGV;
if ($numargs != 1){
print "usuage: $0 arg1n";
print "eg: $0 s50ring.txtn";
exit;
}

my $filename;
my %existwav;

my $target=getcwd;
sub wanted{
if (-f $File::Find::name){
if ($File::Find::name=~/.wav/){
$_=$File::Find::dir;
$filename=basename($File::Find::name);
$existwav{$filename}=$_;
}
}
}
#检索该铃音ftp路径下所有的铃音文件名称以及其对应的路径
find(&wanted,$target);

my %ringfile;
my %ringinfo;
my ($allindex,$ringid);


open(RINGFILE,"$ARGV[0]");
open(RESULT1,">result.txt");
open(RESULT2,">ok.txt");
while()
{
#非空格,非字母开头的,并且有,号的才记录
if( $_ !~/^$/ and $_=~/,/ ){
($allindex,$ringid)=split /,/,$_;
$allindex=trim($allindex);
$ringid=trim($ringid);
if($allindex=~/d+/){
$ringinfo{$ringid}=$allindex;
}

}
}

my $dir;
foreach $ringid (sort keys %ringinfo)
{
$allindex=$ringinfo{$ringid};
$dir="$target/".($allindex %24)."/$allindex";

if( ! -e "$dir/$ringid.wav"){
print RESULT1 "not exists $dir $ringid.wavn";
foreach my $ringfile (sort keys %existwav){
if($ringfile eq "$ringid.wav")
{
print RESULT1 "$ringfile exists $existwav{$ringfile}";
#退出循环
last;
}
}
}else{
print RESULT2 "exists $dir $ringid.wavn ";
}

}

#trim函数,用于去掉一个字符串的前后空格
sub trim
{
my $string = shift;
$string =~ s/^s+//;
$string =~ s/s+$//;
return $string;
}

close(RINGFILE);
close(RESULT1);
close(RESULT2);
print "程序执行结束,请到同一路径下察看ok.txt和result.txt !n";

执行完后生成两个文件 ok.txt,result.txt.其中ok.txt是放置正确的铃音列表,result.txt是缺少的或者不在正确位置的铃音列表,如果不在正确位置,会紧接着下面一条列出该铃音文件所在的位置。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/47869/viewspace-810914/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: fuck_huawei_log.pl
下一篇: 买了招行的保险
请登录后发表评论 登录
全部评论
  • 博文量
    301
  • 访问量
    10875978