• 使用Perl合并文件


    使用Perl合并文件

    有时需要将整个目录下的小文件合并到一个文件中,以便查阅检索

    特性


    整个目录完全遍历,自动存入单个文件
    顺序遍历文件

    待合并的目录


    合并后的文件内容


    syscfg/test1  
    syscfg/test2  
    
    
    uart/uart7/uart7_dma1  
    uart/uart7/uart7_dma2  
    
    
    wwdg/prescaler  
    
    

    Perl代码


    #!/usr/bin/perl
    use warnings;
    
    ###########################################
    #./mergelst.pl lst
    ###########################################
    
    my $indir = $ARGV[0];
    
    opendir DIR, $indir or die "Connot open $indir: $!";    #得到目录句柄
    
    unlink "temp.lst";
    open(OUTFILE, ">>temp.lst") || die ("Could not open file temp.lst ! 
    ");  #输出文件句柄
    
    foreach my $file (sort readdir DIR){                    #目录下文件排序后遍历文件
        if($file =~ /^./){
            next;                                           #'.''..'目录去除,不包括在遍历的范围之内
        }
        print "$indir$file
    ";
    
        open(INFILE, "$indir/$file") || die ("Could not open file $file ! 
    "); #打开目录下的文件
          while ($line = <INFILE>){                                             #循环输出到输出文件中,合并
              chomp($line);
              print OUTFILE  "$line 
    ";
          }
        print OUTFILE  "
    
    ";
        close INFILE;
    }
    
    close OUTFILE;
    rename 'temp.lst','merge_lst';                 #文件重名名
    print  "
     merge_lst
    
    ";
    
  • 相关阅读:
    Avito Cool Challenge 2018:D. Maximum Distance
    Avito Cool Challenge 2018:C. Colorful Bricks
    Struts2开发基本步骤
    hibernate query.list() 返回的数据类型
    hibernate query.list() 返回的数据类型
    HibernateUtil工具类
    Hibernate实现步骤
    Hibernate实现步骤
    分页关键知识点总结
    详解
  • 原文地址:https://www.cnblogs.com/OneFri/p/6960975.html
Copyright © 2020-2023  润新知