【发布时间】:2014-10-21 20:12:36
【问题描述】:
我正在尝试将一个非常大的文件拆分为文件中基于字符串的较小文件。
例如。输入文件
Block(A){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
Block(B){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
Block(C){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
我想创建三个文件,每个文件都包含括号内的数据
请告诉我我哪里弄错了。我的 perl 代码
while (<PR>) {
if ($_ =~ ' Block\('))
{
chomp;
close (PW);
$textcell = $_;
$textcell =~ s/Block\(//g;
$textcell =~ s/\)\{//g;
open (PW, ">$textcell.txt") or die "check file";
}
if ( /^ Block\($textcell\)/../^ }/)
{ print PW $_;}
}
正在创建所需的文件,但为空。
问候
想要的输出,三个文件:
A.txt
Block(A){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
B.txt
Block(B){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
C.txt
Block(C){
Block_area : 2.6112;
Block_footprint : 3BAA5927A22E66B0AE1214A806440F12;
}
【问题讨论】:
-
请也添加您想要的输出示例。
-
Block(之前有多少个空格?
标签: perl