连接多对文件

时间:2013-05-23 12:08:15

标签: cat

我想要连接120对文件。 我在选项卡分隔文件中有一对文件列表和建议的合并文件名,如下所示

Filelist.txt

/filepath/1_first.fasta /filepath/1_second.fasta > /filepath/1_merged.fasta

/filepath/2_first.fasta /filepath/2_second.fasta > /filepath/2_merged.fasta

/filepath/3_first.fasta /filepath/3_second.fasta > /filepath/3_merged.fasta 

/filepath/4_first.fasta /filepath/4_second.fasta > /filepath/4_merged.fasta

我在尝试:

$cat Filelist.txt | perl -ne 'chomp;system("cat $_;")'

想要逐行处理Filelist.txt并在第一行的行上使用cat命令......

/filepath/1_first.fasta /filepath/1_second.fasta > /filepath/1_merged.fasta

如果我在Filelist.txt中只有一对和一行它可以正常工作,但我只是得到多行...

/filepath/2_first.fasta: No such file or directory

$

为什么这可能不适用于每一行? 或者另外一种方法呢?

由于

2 个答案:

答案 0 :(得分:1)

我会建议:

sed -e 's/^/cat /' Filelist.txt | bash

假设您的Filelist.txt确实是这样格式化的(即实际上包含了重定向,如图所示)。也许在没有| bash部分的情况下首先尝试以上操作并检查输出以确保它看起来像您想要运行的正确命令。

答案 1 :(得分:0)

试试这个:

cat * > merged_file

这将CAT目录中的所有文件,输出将输出到merged_file。