我正在尝试将~9000 fasta文件放入一个更大的文件中。所有文件都在一个子文件夹中。我不断得到参数列表是长错误。
这是其中一个文件的示例名称
efetch.fcgi?db=nuccore&id=CL640905.1&rettype=fasta&retmode=text
它们被计算机视为文档类型文件。
答案 0 :(得分:1)
由于您对命令行大小有限制,因此无法使用cat * > concatfile
。所以一次拿一个并附加:
ls | while read; do cat "$REPLY" >> concatfile; done
(确保预先concatfile
不存在。)
编辑:正如用户6292850正确指出的那样,我可能会过度思考它。如果你的文件没有太奇怪的名字,这就足够了:
ls | xargs cat > concatfile
(但是,例如,其中包含空格的文件会将其炸毁)
答案 1 :(得分:0)
您可以在命令行上放置多少个参数。 您可以使用for循环来处理此问题:
while read file;do
cat "${file}" >> path/to/output_folder;
done < <(find path/to/output_folder -maxdepth 1 -type f -print)
这将绕过带有太多参数的扩展glob的问题。