我尝试了很多,但找不到满意的答案。对不起,如果是重新发布。
我基本上想要的是一个修改过的粘贴或剪切命令,我可以从多个文件打印一个特定的列,让我们说每个文件的第二列,文件名作为该列的标题。
例如,我的文件以制表符分隔,格式为。
档案1
1 10
2 13
3 8
4 18
... ...
文件2
1 11
2 9
3 10
4 22
... ...
档案3
1 8
2 27
3 15
4 16
... ...
等等。
所需的输出
File 1 File 2 File 3
1 10 11 8
2 13 9 27
3 8 10 15
... .... ..... .....
如果第一列指示值来自的行,则为最佳。但即使这是不可能的,也是可以控制的。我查看了join,但它一次只能处理两个文件。任何帮助将不胜感激。
谢谢!
编辑:
这是我在Perl中尝试过的。
my @files = @ARGV;
foreach my $file (@files)
{
open(IN, $file) or die $!;
while(<IN>)
{
chomp;
my @line = split "\t";
my $row = $line[0];
$file{$row} = $line[1];
}
foreach my $key (sort {$a <=> $b} keys %file)
{
print "$key\t$file{$key}\n";
}
}
我无法理解如何为每个文件按行输出值,文件名也是标题。