perl 工具小脚本

简介:
工具小脚本
# !/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 );

本文转自博客园刘凯毅的博客,原文链接:perl 工具小脚本,如需转载请自行联系原博主。


目录
相关文章
|
存储 缓存 边缘计算
阿里云CDN简介和使用流程
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。(1)全网带宽输出能力达150 Tbps。(2)把静态内容缓存到边缘节点提高访问下载效率。
3228 0
|
人工智能 大数据 云计算
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
605 214
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
847 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1251 157
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
241 138