場合によっては、複数のzipファイルとrarファイルを一度に抽出する必要があります。これらのファイルはすべて1つのフォルダーにあります。 UbuntuUIを介してこれを行うのはかなり簡単です。抽出するすべてのファイルを選択し、右クリックして[抽出]オプションを使用して、それらをすべて抽出するだけです。実際の取引は、コマンドラインから同じタスクを実行したい場合です。ファイル抽出コマンドを1つずつ入力して個別に抽出することは、非常に長く、率直に言って非論理的であることがわかります。これが、救助するためのループのbashです。これを使用して、複数の同様の操作を一度に実行できます。
この記事では、forループを使用して、Ubuntuコマンドラインから次のタイプの複数のファイルを抽出する方法について説明します。
- Zipファイル
- Tar.xzファイル
- RARファイル
- 7zファイル
この記事に記載されているコマンドと手順をUbuntu18.04LTSシステムで実行しました。サンプルのzipフォルダーとtarフォルダーには、それぞれzipファイルとrarのファイルタイプの4つの圧縮ファイルが含まれています。 Ubuntuコマンドラインを使用するためにターミナルアプリケーションを使用しています。システムダッシュまたはCtrl+alt+Tショートカットを使用して開くことができます。
一度に複数のファイルを解凍する
フォルダ(この場合は「zip_files」フォルダ)に複数のzipファイルが含まれていて、それらを同時に抽出したいとします。
forループを使用してタスクを単純化する方法は次のとおりです。
$ for z in *.zip do unzip $z; done
1つのコマンドで同じタスクを実行する方法は次のとおりです。
$ for z in *.zip; do unzip "$z"; done
一度に複数のtar.xzファイルを抽出します
フォルダに複数のtar.xzファイルが含まれていて、それらを同時に抽出したいとします。
forループを使用してタスクを単純化する方法は次のとおりです。
$ for z in *.tar.xz do tar -xf $z; done
1つのコマンドで同じタスクを実行する方法は次のとおりです。
$ for z in *.tar.xz; do tar -xf "$z"; done
一度に複数のファイルを再生する
複数のrarファイルを一度にunrarするには、次のコマンドを使用します。
$ 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ループの機能を使用して、1つずつ実行すると時間がかかる可能性のある他のさまざまな同様のタスクを実行することもできます。