Skynet

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

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            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$" 添加文件
          #         并運(yùn)行 "ls -l $fileAllName " 
          #    運(yùn)行日志 ./log
          #
          # perl this.pl  
          #     "ls -l $fileAllName " 
          #     "/cygdrive/c/Documents and Settings/Administrator/"  
          #     "^.*\.txt$"
          #     ./log
          #
          # run_comm 參數(shù)1 替換說明:
          #     $filePath  為輸入?yún)?shù)2,遍歷根目錄 "/cygdrive/c/Documents and Settings/Administrator/"  
          #    $fileAllName 為當(dāng)前遍歷,滿足正則條件的 全路徑+文件名
          #    $logicFileAllName  為當(dāng)前遍歷,滿足正則條件的 邏輯路徑+文件名
          #    $logicFilePath 為當(dāng)前遍歷,邏輯路徑
          #    $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.aygfsteel.com/Good-Game
          posted on 2009-03-02 17:51 劉凱毅 閱讀(1241) 評論(0)  編輯  收藏 所屬分類: perl
          主站蜘蛛池模板: 沧州市| 庆云县| 阿图什市| 霍州市| 榕江县| 景德镇市| 香港 | 夹江县| 彝良县| 赤城县| 安吉县| 汪清县| 舒兰市| 彩票| 咸阳市| 蓝山县| 公主岭市| 庄浪县| 乡城县| 南靖县| 寻甸| 威海市| 东乡| 郸城县| 广宗县| 池州市| 上栗县| 南投县| 滨州市| 名山县| 壶关县| 杭州市| 衡东县| 博乐市| 陵川县| 西青区| 安平县| 大石桥市| 交城县| 镇巴县| 汉中市|