#!/usr/bin/perl
use strict;
use warnings;
my $input_dir = '/path/to/input/directory'; # 输入文件夹路径
my $output_file = 'merged_file.tsv'; # 合并后的输出文件名
opendir(my $dh, $input_dir) || die "无法打开目录 $input_dir: $!";
open my $out_fh, '>', $output_file or die "无法打开输出文件 $output_file: $!";
while (readdir $dh) {
next if $_ eq '.' or $_ eq '..'; # 跳过当前目录和上级目录
my $input_file = "$input_dir/$_"; # 构建输入文件路径
if (-f $input_file && $input_file =~ /\.tsv$/) { # 如果是tsv文件
open my $in_fh, '<', $input_file or die "无法打开输入文件 $input_file: $!";
while (my $line = <$in_fh>) {
print $out_fh $line; # 写入到输出文件
}
close $in_fh;
}
}
closedir $dh;
close $out_fh;
请将/path/to/input/directory
替换为包含要合并的tsv文件的输入目录路径,并将merged_file.tsv
替换为你想要的输出文件名。运行此脚本后,它将遍历所有tsv文件并将它们的内容写入到一个新的合并文件中。