【问题标题】:Terminal - Unzip all .gz files in a folder without combining resulting files终端 - 解压缩文件夹中的所有 .gz 文件,而不合并生成的文件
【发布时间】:2021-05-13 18:47:13
【问题描述】:

我有一个文件夹 TestFolder,其中包含多个 .gz 文件。每个 .gz 文件是一个包含多个子目录的文件夹,每个 .gz 文件的最深层包含 5 个文本文件。比如解压其中一个.gz文件,最终在目录最深处有5个文件,比如:

Users/me/Desktop/TestFolderParent/TestFolder/folder1/subfolder1/subfolder2/subfolder3/subfolder4/subfolder5/subfolder6/TextFile1.txt

Users/me/Desktop/TestFolderParent/TestFolder/folder1/subfolder1/subfolder2/subfolder3/subfolder4/subfolder5/subfolder6/TextFile2.txt

Users/me/Desktop/TestFolderParent/TestFolder/folder1/subfolder1/subfolder2/subfolder3/subfolder4/subfolder5/subfolder6/TextFile3.txt

Users/me/Desktop/TestFolderParent/TestFolder/folder1/subfolder1/subfolder2/subfolder3/subfolder4/subfolder5/subfolder6/TextFile4.txt

Users/me/Desktop/TestFolderParent/TestFolder/folder1/subfolder1/subfolder2/subfolder3/subfolder4/subfolder5/subfolder6/TextFile5.txt

当我在终端中运行 gunzip -r /Users/myuser/Desktop/TestFolderParent/TestFolder 时,它会提取所有 .gz 文件,每个文件都作为一个文本文件,其中包含连接在一起的所有 5 个组成文本文件。有什么方法可以代替运行命令来提取每个 .gz 文件并将 5 个组成文本文件中的每一个作为单独的文件返回?

【问题讨论】:

    标签: terminal zip gzip extract gunzip


    【解决方案1】:

    .gz 文件本身不包含也不能包含“多个子目录”。 gzip 格式压缩一个单个文件,就是这样。 gunzip 将从一个.gz 文件中提取一个文件。

    该单个文件本身可以是未压缩的文件存档。这通常使用 tar 归档器完成,因此您最终会得到一个 .tar.gz 文件。那是你所拥有的吗?那么你需要使用tar,而不是gunzip来解压文件。

    【讨论】:

    • 感谢您的洞察力 - 也许我使用了错误的术语,但我有一个 .zip 文件,当我打开它时,我有一个包含 20 多个 .gz 文件的文件夹。然后,当我打开一个 .gz 文件时,我看到文件夹 A,其中包含子文件夹 B,其中包含子文件夹 C 等,直到我到达最低级别,包含 5 个 .txt 文件。有没有办法从原始 .zip 或每个 .gz 文件中输出 5 个 .txt 文件,每个文件都作为单独的文件?
    • “当我打开一个 .gz 文件时,我看到文件夹 A,其中包含子文件夹 B,其中包含子文件夹 C 等” 对我来说毫无意义.究竟如何“打开” .gz 文件,以及如何在结果中“看到”文件夹?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多