如何获取具有特定名称的输出

时间:2014-03-19 18:32:31

标签: perl output

我正在尝试使用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中执行此操作。有人可以帮帮我吗?感谢

1 个答案:

答案 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";
    }
}