zoukankan      html  css  js  c++  java
  • Perl按行分割文件

    Perl按行分割文件

    将一个文件按照行数,均等的分割成多个小文件,例如,一个550行的文件,分割为每个文件有100行,则将分割为6个小文件

    运行结果


    参考代码(split_file.pl)

    #!/usr/bin/perl
    #usage way: split_file.pl test
    
    open(FILE,$ARGV[0]) or die ("Error: cannot open file $ARGV[0].
    ");
    @lst_line = <FILE>;
    
    my $dir_num = &splitfile(@lst_line);
    
    
    #print "$dir_num
    ";
    
    exit;
    ################################################################
    
    
    ################################################################
    sub splitfile{
        my (@input_line) = @_;
        
        my $everyfule_num = 80;   #Set partition lines
        my $line_num = @input_line;
        my $split_num  = $line_num/$everyfule_num;
        
        unlink "temp_lst";
        open(TEMPA, ">> temp_lst") || die ("Could not open file temp_lst! 
    ");
    
        my $sq_num = 0;
        foreach $line (@input_line){
            $line_index ++;
    
            printf TEMPA ("$line");
    
            if($line_index%$everyfule_num == 0){
                $sq_num = $line_index/$everyfule_num;
                my $lst_name = "test_"."lst_".$sq_num;
                rename "temp_lst",  "$lst_name";
                close TEMPA;
    
                unlink "temp_lst";
                open(TEMPA, ">> temp_lst") || die ("Could not open file temp_lst! 
    ");
            }
        }
    
        rename "temp_lst",  "test_"."lst_".($sq_num+1);
        close TEMPA;
    
        return $sq_num+1;
    } #end of splitfile
    
  • 相关阅读:
    Kubernetes服务目录的设计
    浅谈移动边缘计算
    kubernetes源码分析 -- kube-proxy
    openstack dpdk
    KVM irqfd and ioeventfd
    dpdk CUSE
    《springboot实战》丁雪峰翻译 笔记
    photoshop
    office word使用
    baidu地图api使用
  • 原文地址:https://www.cnblogs.com/OneFri/p/7686514.html
Copyright © 2011-2022 走看看