首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于通过将字符匹配为多个文件来拆分单个文件的perl代码

用于通过将字符匹配为多个文件来拆分单个文件的perl代码
EN

Stack Overflow用户
提问于 2014-04-18 07:00:52
回答 4查看 110关注 0票数 0

我想把一个大的数据文件分成多个文件,只要它与“^”字符匹配。

代码语言:javascript
复制
#!/usr/bin/perl -w  
use strict;  
print "enter the data file name";  
chomp( my $a=<STDIN> );  
open (<READ>,"$a")| "error";  
while ($line=<READ>)  
 {  
  my @array=split("        ",$line) unless ^ ;  

在拆分数据文件之后。共创建23个文件

EN

回答 4

Stack Overflow用户

发布于 2014-04-19 12:44:49

以下是与saiprathapreddy.obula的答案略有不同的答案:

代码语言:javascript
复制
use warnings;
use strict;

my ($file) = @ARGV;

open(my $input, "<$file");

local $/ = "^";

my $i = 0;

while(<>){
    chomp;

    $i++;

    open(my $output, ">file$i.txt");
    print $output "$_"; 
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-18 16:29:11

代码语言:javascript
复制
use strict;

open(FILE,'AUTOSAR.txt');
local $/;
my $var = <FILE>;
my @arr = split('\^',$var);
my $i=0;

foreach (@arr) {
    $i++;
    open(FILE1,">$i.txt");
    print FILE1 $_;
    close FILE1;
}

close FILE;
票数 0
EN

Stack Overflow用户

发布于 2014-04-18 22:57:48

代码语言:javascript
复制
$,="";
$"="";
my $i=1;
open OUT ,">DATA_${i}.txt";
while(<>){
    chomp;
    my @F=split(/\^/);
    if(@F==1){
            print OUT $_,"\n";
    }
    elsif(@F>1){
            $i++;
            close OUT;
            open OUT ,">DATA_${i}.txt";
            print OUT "@F[1..$#F] \n";
    }
}
close OUT;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23144860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档