我有一组 gzip 压缩文件,我想将它们组合成一个文件。它们各自具有相同的格式。我想仅保留第一个文件的标头信息,并在后续文件中跳过它。
\n\n举一个简单的例子,我有四个相同的文件,其内容如下:
\n\n$ gzcat file1.gz\n# header\n1\n2\n
Run Code Online (Sandbox Code Playgroud)\n\n我想结束
\n\n# header\n1\n2\n1\n2\n1\n2\n1\n2\n
Run Code Online (Sandbox Code Playgroud)\n\n实际上,我可以拥有不同数量的文件,因此我希望能够以编程方式执行此操作。这是我迄今为止拥有的非编程解决方案......
\n\ncat <(gzcat file1.gz) <(tail -q -n +2 <(gzcat file2.gz) <(gzcat file3.gz) <(gzcat file4.gz))\n
Run Code Online (Sandbox Code Playgroud)\n\n这个命令有效,但它是 \xe2\x80\x9chard 编码的 \xe2\x80\x9d 来处理四个文件,\n我需要将它概括为任意数量的文件。\xc2\xa0\n我使用作为bash
外壳,如果这有帮助。我的偏好是性能(实际上文件可能有数百万行长),所以如果速度很快,我可以接受不太优雅的解决方案。