繁体   English   中英

如何在Linux的目录中合并多个文件,以使每个文件数据都放在新列中?

[英]How do I combine multiple files in a directory in linux such that each files data is placed in a new column?

我的目录中有100个文件,每个文件包含一列1000行的数字。 我想将所有这些文件组合到一个文件中,从而得到1000 x 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/*

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM