Skynet

---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks


工具小脚本
#!/bin/perl
use File::Find;
use Log::FileSimple;

#use strict;
#use warnings;

# 说明: 
#     遍历出 "/cygdrive/c/Documents and Settings/Administrator/"  
#       满足 "^.*\.txt$" 添加文件
#         并运行 "ls -l $fileAllName " 
#    运行日志 ./log
#
# perl this.pl  
#     "ls -l $fileAllName " 
#     "/cygdrive/c/Documents and Settings/Administrator/"  
#     "^.*\.txt$"
#     ./log
#
# run_comm 参数1 替换说明:
#     $filePath  为输入参数2,遍历根目录 "/cygdrive/c/Documents and Settings/Administrator/"  
#    $fileAllName 为当前遍历,满足正则条件的 全路径+文件名
#    $logicFileAllName  为当前遍历,满足正则条件的 逻辑路径+文件名
#    $logicFilePath 为当前遍历,逻辑路径
#    $logicFileName 文件名称
#    $logicFileExp  文件后缀  
#        (test.txt 文件  
#            $logicFileName 为 test 
#            $logicFileExp 为 txt
#            )


my $run_comm=$ARGV[0];
my $file_path=$ARGV[1];
my $file_find_rex=$ARGV[2];
my $logfile=$ARGV[3];


my $log = new Log::FileSimple(name=> 'Log::FileSimple logs',
                              file      
=> "$logfile",
                              mask      
=> -1,
                              autoflush 
=> 0,
                              );

sub fileThumb{
 
eval{
  
$_tmp_run_comm=$run_comm ;
  
if/$file_find_rex/ ){
    
$fileNum++;
    
$_tmp_run_comm=~s/\$filePath/$file_path/g;
    
    
my $_file_all_name=$File::Find::name;
    
$_tmp_run_comm=~s/\$fileAllName/$_file_all_name/g;
    
my $_logic_file_all_name=$_file_all_name;
          
$_logic_file_all_name=~s/$file_path//g;
        
$_logic_file_all_name=~s/^\s*\.//g;
    
$_tmp_run_comm=~s/\$logicFileAllName/\.\/$_logic_file_all_name/g;
    
if($_logic_file_all_name=~/^(.*)\/([^\/]*)\.([^\.]*)$/){
      
my $_logic_file_path=$1;
      
my $_logic_file_name=$2;
      
my $_logic_file_exp=$3;
      
$_tmp_run_comm=~s/\$logicFilePath/\.\/$_logic_file_path/g;
      
$_tmp_run_comm=~s/\$logicFileName/$_logic_file_name/g;
      
$_tmp_run_comm=~s/\$logicFileExp/$_logic_file_exp/g;
      }
    
#print $_tmp_run_comm,"\n";
    my @return=eval{system("$_tmp_run_comm 2>&1 \|echo \$\? ")};
    
if ( $return[(@return-1)] != 0 ) { 
      
$log->log(message=>"success($fileNum):$_file_all_name");
       }
else{
      
$log->log(message=>"error($fileNum):$_file_all_name");
        }
  }
 }
}


find(
\&fileThumb,$file_path);



整理 www.blogjava.net/Good-Game
posted on 2009-03-02 17:51 刘凯毅 阅读(1118) 评论(0)  编辑  收藏 所属分类: perl

只有注册用户登录后才能发表评论。


网站导航: