如何从 tar.gz 中提取具有相同名称但不同内容的所有文件而不覆盖重复的文件

如何从 tar.gz 中提取具有相同名称但不同内容的所有文件而不覆盖重复的文件

我的 tar.gz 有多个文件具有相同的名称,但每个文件具有不同的内容例如:a.csv、b.csv、c.csv、a.csv、d.csv、a.csv 和 c.csv。如果我这样做

tar -xvf filename.tar.gz | wc -l

我会得到 7 个文件的数量,但是当我提取 tar 文件并执行

ls | wc -l

最新文件 a.csv 和 c.csv 正在覆盖旧文件 a.csv 和 c.csv,因此字数将为 4,因此我丢失了存储在其他 3 个文件(a.csv、a.csv、c.csv)中的数据

有什么方法可以提取所有文件(例如所有 7 个文件),包括同名文件,这样我就不会丢失任何数据?

当我尝试搜索时tar 手册,有一些选择,例如发生,--keep-old-files,--keep-newer-files,-k,但没有任何进展。

您能给我什么建议吗?或者你们当中有人之前处理过这种情况吗?

答案1

您或许可以使用该--backup=numbered选项将文件名冲突转变为编号备份。

相关内容