如何在linux中将多个文件合并到一个目录中,以便将每个文件数据放在一个新列中?

如何在linux中将多个文件合并到一个目录中,以便将每个文件数据放在一个新列中?,linux,terminal,Linux,Terminal,我在一个目录中有100个文件,每个文件包含一列1000行数字。我想将所有这些文件合并到一个文件中,生成1000×100的数据帧,每个列的名称作为文件名。在linux(终端)中有没有办法做到这一点?这可以用一点perl脚本来完成: merge.pl #!/usr/bin/perl my @lines; for my $file (@ARGV) { open(FI,$file) or die; my $i=0; while(<FI>) { cho

我在一个目录中有100个文件,每个文件包含一列1000行数字。我想将所有这些文件合并到一个文件中,生成1000×100的数据帧,每个列的名称作为文件名。在linux(终端)中有没有办法做到这一点?

这可以用一点perl脚本来完成:

merge.pl

#!/usr/bin/perl

my @lines;
for my $file (@ARGV) {
    open(FI,$file) or die;
    my $i=0;
    while(<FI>) {
        chop;
        $lines[$i].="," if $lines[$i];
        $lines[$i].=$_;
        $i++;
    }
    close(FI);
}

for my $line (@lines) {
    print $line."\n";
}

使用
粘贴
命令。它就像猫一样,但是是横向的。
./merge.pl dir/*