You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过目录生成的文件列表将多个.sdf.gz文件合并为单个.gz文件

解决方案

方法1:用xargs实现(兼容性最好,推荐)

直接执行以下命令即可:
xargs cat < list > all.sdf.gz
xargs会自动读取list文件里每行的文件名,批量作为参数传递给cat命令,最终将所有文件内容合并输出到all.sdf.gz。这种方式就算后续你的文件名带空格,只要list里每行存一个完整文件名,也能正常运行。

方法2:用shell命令替换实现

你也可以用以下更简洁的写法:
cat $(< list) > all.sdf.gz
shell会直接读取list文件的所有内容,按换行/空格分割成参数传给cat,适合你当前文件名无特殊字符的场景。

注意:gzip格式本身支持多个压缩流直接拼接,所以你直接合并.gz文件的操作是合法的,合并得到的all.sdf.gz可以正常解压使用,不需要额外转码。如果你的list文件里存在多余空行或者非目标文件的文件名,建议先清理后再执行合并命令,避免引入无关内容。
如果你本来就是要合并当前目录下所有.sdf.gz后缀的文件,完全不需要提前生成list文件,直接执行cat *.sdf.gz > all.sdf.gz即可实现相同效果。

内容的提问来源于stack exchange,提问作者ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:39:05