首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Perl合并多个csv文件

使用Perl合并多个csv文件
EN

Stack Overflow用户
提问于 2013-08-01 12:21:08
回答 1查看 3.9K关注 0票数 0

对于这个简单的问题,我对Perl非常抱歉。

我有一个Perl脚本,它生成7个csv文件。所有这些文件都有8个常见的列标题。

文件名将是常量的,每个文件只有8列,并且每个列的每个值中总是有数据。

每个文件的大小从来不超过400 K。

我希望使用Perl将这些csv文件组合成一个文件。输出将具有相同的列标题和来自所有7个文件的数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-01 13:16:08

如果您使用的是某种Unix,则可以使用tail

代码语言:javascript
运行
复制
$ tail -qn +2 fileA fileB ...

-q在输出中抑制文件名;-n +2用第2行启动输出。

要获得标题,还需要:

代码语言:javascript
运行
复制
$ (head -n 1 fileA; tail -qn +2 fileA fileB ...) > output-file

如果您需要使用Perl:

代码语言:javascript
运行
复制
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
}

然后:$ perl the-script.pl fileA fileB ...

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17993919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档