我正在尝试使用perl一次编辑一些文本文件。所以我有一个文件夹“输入”,我输入我的输入文本文件,我有一个文件夹“输出”,我在其中编辑文本文件。所以我的脚本开始就像(我只复制开头):
use strict;
use warnings;
opendir IN, 'input';
my @in = grep { /^[^.]/ } readdir IN;
closedir IN;
for my $in (@in) {
open IN, '<', "input/$in" || next;
open OUT, '>', "output/$in" || die "can't open file output/$in";
我的输入文本文件名为TH0001_file.txt,TH0002_file.txt,... 我希望我的输出文本文件名为TH0001_edited.txt,TH0002_edited.txt,....
但我不知道如何编辑我的perl来实现它。当然,一旦我得到输出来重命名我的文件,我可以使用“重命名”命令,但我想知道如何在perl中执行此操作。有人可以帮帮我吗?感谢
答案 0 :(得分:1)
您可以使用以下代码作为起点:
#!/usr/bin/perl
use warnings;
use strict;
foreach my $in_file (<input/*.txt>) {
print "input file name: $in_file\n";
if ($in_file =~ m/\/([^_]+)_file.txt$/) {
my $out_file = "output/$1_edited.txt";
print "output file name: $out_file\n";
}
}