有时我们必须一次提取多个压缩和rard文件,所有文件都位于一个文件夹中。通过Ubuntu UI进行操作非常简单;您需要做的就是选择要提取的所有文件,单击鼠标右键,然后使用“提取”选项将它们全部提取出来。真正的交易是当我们想通过命令行执行相同的任务时。通过逐个输入文件提取命令来单独提取它们可能被证明是相当冗长的,而且坦率地说是不合逻辑的。这是抢救循环的重击。您可以使用它一次执行多个类似的操作。
本文介绍如何使用for循环通过Ubuntu命令行提取以下类型的多个文件:
- 压缩文件
- Tar.xz文件
- RAR文件
- 7z文件
我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。我们的示例zip和tar文件夹分别包含4个压缩文件和rard文件类型的压缩文件。我们正在使用Terminal应用程序来使用Ubuntu命令行。您可以通过系统Dash或Ctrl + alt + T快捷方式打开它。
一次解压缩多个文件
让我们假设一个文件夹(在本例中为“zip_files”文件夹)包含多个压缩文件,并且我们希望同时提取它们。
这是使用for循环使任务简单的方法:
$ for z in *.zip
do
unzip $z;
done
这是通过一个命令即可完成相同任务的方法:
$ for z in *.zip; do unzip "$z"; done
一次提取多个tar.xz文件
让我们假设一个文件夹包含多个tar.xz文件,并且我们希望同时提取它们。
这是使用for循环使任务简单的方法:
$ for z in *.tar.xz
do
tar -xf $z;
done
这是通过一个命令即可完成相同任务的方法:
$ for z in *.tar.xz; do tar -xf "$z"; done
一次解压缩多个文件
使用以下命令以便一次解压缩多个rar文件。
$ for z in *.rar
do
unrar e $z;
done
要么,
$ for f in *.rar; do unrar e “$f”; done
一次提取多个7z文件
使用以下命令以便一次提取多个7z文件。
$ for z in *.7z
do
7z e $z;
done
要么,
$ for z in *.7z; do 7z e "$z"; done
通过使用bash for循环,您可以完成一次提取多个压缩文件的繁重任务。当我们必须同时提取多达数百个压缩文件时,您在本文中学到的这项小技巧特别有用。不仅用于文件提取,而且还可以使用for循环的功能来执行其他各种类似的任务,当您逐一运行它们时可能会花费更长的时间。