【发布时间】:2020-05-26 09:20:12
【问题描述】:
我有一个输入文件original.txt,内容为
AS1023000404
SA26376
EFadadhkaj
ASssjdiw9128129010210
EF939809
这里我想根据First 2 letters of each line 创建新文件,即从给定的原始文件中我应该有以下内容。
file 1 = AS.txt
content:
AS1023000404
ASssjdiw9128129010210
File 2 = SA.txt
Content:
SA26376
File 3 = EF.txt
Content:
EFadadhkaj
EF939809
任何人都可以帮助我如何实现这一目标。
在这里添加我尝试过的 perl 代码。
while (<$INFILE>) {
if (length($_) > 0) {
$outFlName = substr($_,$start,$len);
` if (not $OUTFILE{$outFlName}) {
open $OUTFILE{$outFlName}, '>', "${outFlName}.txt"
or die "Unable to open '${outFlName}.txt' for output: $!";
$OUTREC{$outFlName} = 0;
}
print { $OUTFILE{$outFlName} } $_;
$OUTREC{$outFlName} = $OUTREC{$outFlName} + 1;`
}
}
close $_ for values %OUTFILE;
【问题讨论】:
-
请分享您到目前为止尝试过的内容。
-
我在这里也是第二个 Digvijay,因此我们鼓励用户添加他们为解决自己的问题所做的努力,所以请添加相同的内容并让我们知道。顺便说一句,一旦您添加努力,我的答案就准备好了,我会发布我的答案:)
-
是的,同意....我已经用 perl 脚本编写了代码,因为我在 shell 中找不到太多寻求帮助。在此处添加 perl 编码。
-
@teepu,当然你可以在你的问题中添加该代码,这不是问题,没有错,或者大家都在这里学习,干杯。
-
请参阅stackoverflow.com/help/formatting,了解如何正确格式化您的示例输入、输出和代码以在此站点上发布。