是的,我知道标题可能不是很清楚。如果您有关于更改它的建议,请告诉我。
这是我的问题: 我有一个文件(我们称之为File_1),其中有几行,每一行都是一个句子。
对于前: File_1内容:
*Line 1*: I'm very happy today.
*Line 2*: We're going to the cinema.
*Line 3*: I'll write on stackoverflow today!
等等..
我的问题是,如何从每行的内容创建多个文件? 所以对于前者。 file_1将被拆分为:
*Line_1_content.txt* : I'm very happy today.
*Line_2_content.txt* : We're going to the cinema.
等等......
我真的不知道怎么做。我从来没有遇到过这种问题。 我将非常感谢你的帮助。
答案 0 :(得分:3)
use strict;
use warnings;
use autodie;
while ( <> ) {
open my $fh, '>', "${.}.txt";
print $fh $_;
}
$.
对应于当前行的编号。
您将此程序称为:perl prog.pl your_file
答案 1 :(得分:0)
如果我理解正确的问题:
use strict;
use warnings;
use autodie;
open(my $fh, '<', 'example.txt');
while (my $line = <$fh>) {
open(my $line_fh, '>', "line_${.}_file.txt");
print $line_fh $line;
close($line_fh);
}
close($fh);
应该做你想做的事。
(尽管这样做可能并没有像评论所指出的那样有意义)
答案 2 :(得分:0)
你甚至不需要一个程序: - )
perl -ne 'open my $fh, ">", "Line_${.}_content.txt"; print $fh $_"' your_file_here
或者,或许,
perl -pe 'open my $fh, ">", "Line_${.}_content.txt"; select $fh' your_file_here