我是Perl的新手,对这个简单的问题感到抱歉。
我有一个Perl脚本,可以生成7个csv文件。所有这些文件都有8个公共列标题。
文件名将是恒定的,每个文件只有8列,并且每一列的每个值中始终会有数据。
每个文件的大小都不会大于400k。
我想使用Perl将这些csv文件合并为一个文件。输出将具有来自所有7个文件的相同列标题和数据。
如果您使用的是Unix,则可以使用tail。
$ tail -qn +2 fileA fileB ...
Run Code Online (Sandbox Code Playgroud)
-q输出中的禁止文件名;在-n +2始于二号线输出。
还要获取标题:
$ (head -n 1 fileA; tail -qn +2 fileA fileB ...) > output-file
Run Code Online (Sandbox Code Playgroud)
如果您需要使用Perl:
use strict; use warnings; use autodie;
my $files = $#ARGV; # get number of files - 1
while (my $file = shift @ARGV) {
open my $fh, "<", $file;
<$fh> unless $files == @ARGV; # discard header unless first file
print while <$fh>; # output the rest
}
Run Code Online (Sandbox Code Playgroud)
然后: $ perl the-script.pl fileA fileB ...
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |