![将多个 bz2 文件解压为 1 个 csv 文件](https://linux22.com/image/1631652/%E5%B0%86%E5%A4%9A%E4%B8%AA%20bz2%20%E6%96%87%E4%BB%B6%E8%A7%A3%E5%8E%8B%E4%B8%BA%201%20%E4%B8%AA%20csv%20%E6%96%87%E4%BB%B6.png)
我有 16 个 bz2 格式的 bz2 文件:split.csv.0.bz2 split.csv.1.bz2 split.csv.2.bz2 ....
我相信这是一个压缩的 csv 文件,但今天让我整天困惑的是它被 16 个不同的文件分割了。
我试图一次解压缩它们,但它返回了 split.csv.0 split.csv.1 split.csv.2 .... 16 个不同的文件,这些文件表明其文件格式是数字(格式:0、1、2....)
我应该如何处理这些 bz2 文件以使其成为原始 csv 文件?我用的是 Mac。
答案1
这些数字不是“格式”也不是“扩展名”;它们只是各自文件名的一部分。内容才是关键。
如果压缩文件解压时没有错误,那么我怀疑您需要做的就是按正确的顺序连接生成的文件。自然秩序可能是正确的。这里我假设最后一个文件是split.csv.15
。如果需要,请调整方法。
在扩展的 shell 中{0..15}
(例如在 Bash 中),以下命令应该可以工作(警告:它将覆盖result.csv
):
cat split.csv.{0..15} > result.csv
在任何正常的 shell 中你都可以明确指定所有名称:
cat split.csv.0 split.csv.1 split.csv.2 … > result.csv
(如果不明显:…
用其余文件名替换。)
注意cat split.csv.*
可能不是一个好主意。即使没有额外的文件与模式匹配(例如文件.bz2
),shell 也可能会split.csv.*
以错误的顺序扩展文件名。比较 的输出echo split.csv.*
。