有时我们必须一次提取多个压缩和 rar’d 文件,所有文件都位于一个文件夹中。 通过 Ubuntu UI 这样做相当简单; 您需要做的就是选择要提取的所有文件,右键单击并使用“提取”选项将它们完全提取。 真正的交易是当我们想通过命令行执行相同的任务时。 通过逐个输入文件提取命令来单独提取它们可以证明是相当冗长的,坦率地说是不合逻辑的。 某物(人)到了 bash for 循环来拯救。 您可以使用它一次执行多个类似的操作。
本文介绍如何使用 for 循环通过 Ubuntu 命令行提取以下类型的多个文件:
- 压缩文件
- Tar.xz 文件
- rar 文件
- 7z 文件
我们已经在 Ubuntu 18.04 LTS 系统上运行了本文中提到的命令和过程。 我们的示例 zip 和 tar 文件夹分别包含 4 个 zipped 和 rar’d 文件类型的压缩文件。 我们正在使用终端应用程序来使用 Ubuntu 命令行。 您可以通过系统 Dash 或 Ctrl+alt+T 快捷键打开它。
一次解压缩多个文件
让我们假设一个文件夹,在我们的例子中是“zip_files”文件夹,包含多个压缩文件,我们希望同时提取它们。
以下是如何使用 for 循环来简化任务:
$ for z in *.zip do unzip $z; done
以下是通过一个命令完成相同任务的方法:
$ for z in *.zip; do unzip "$z"; done