Občas musíme extrahovat více zazipovaných a rar’d souborů najednou, všechny umístěné v jedné složce. Učinit tak prostřednictvím uživatelského rozhraní Ubuntu je poměrně jednoduché; vše, co musíte udělat, je vybrat všechny soubory, které chcete extrahovat, kliknout pravým tlačítkem a pomocí možnosti Extrahovat je extrahovat úplně. Skutečný problém je, když chceme provést stejný úkol prostřednictvím příkazového řádku. Může se ukázat jako docela zdlouhavé a upřímně řečeno nelogické, extrahovat je jednotlivě zadáváním příkazů pro extrakci souborů jeden po druhém. Zde přichází bash for smyčka k záchraně. Můžete jej použít k provádění více podobných operací najednou.
Tento článek popisuje, jak můžete použít smyčku for k extrahování několika souborů následujícího typu prostřednictvím příkazového řádku Ubuntu:
- Zkomprimujte soubory
- Soubory Tar.xz
- Soubory Rar
- soubory 7z
Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS. Naše ukázkové složky zip a tar obsahují 4 komprimované soubory typu zip a rar’d. Pro použití příkazového řádku Ubuntu používáme aplikaci Terminál. Můžete jej otevřít pomocí systémové pomlčky nebo zkratky Ctrl+alt+T.
Rozbalte více souborů najednou
Předpokládejme, že složka, v našem případě složka „zip_files“, obsahuje více zazipovaných souborů a my je chceme rozbalit současně.
Zde je návod, jak můžete použít cyklus for ke zjednodušení úlohy:
$ for z in *.zip do unzip $z; done
Zde je návod, jak můžete dosáhnout stejného úkolu pomocí jediného příkazu:
$ for z in *.zip; do unzip "$z"; done
Extrahujte více souborů tar.xz najednou
Předpokládejme, že složka obsahuje více souborů tar.xz a chceme je rozbalit současně.
Zde je návod, jak můžete použít cyklus for ke zjednodušení úlohy:
$ for z in *.tar.xz do tar -xf $z; done
Zde je návod, jak můžete dosáhnout stejného úkolu pomocí jediného příkazu:
$ for z in *.tar.xz; do tar -xf "$z"; done
Unrar více souborů najednou
Pomocí následujícího příkazu můžete rozbalit několik souborů rar najednou.
$ for z in *.rar do unrar e $z; done
Nebo,
$ for f in *.rar; do unrar e “$f”; done
Extrahujte více souborů 7z najednou
Chcete-li extrahovat více souborů 7z najednou, použijte následující příkaz.
$ for z in *.7z do 7z e $z; done
Nebo,
$ for z in *.7z; do 7z e "$z"; done
Pomocí smyčky bash for můžete provést hektický úkol extrahovat více komprimovaných souborů najednou. Tato malá dovednost, kterou jste se naučili v tomto článku, se hodí zvláště tehdy, když musíme extrahovat až stovky komprimovaných souborů současně. Nejen pro extrakci souborů, ale můžete také využít sílu cyklu for k provádění různých dalších podobných úkolů, které mohou trvat déle, když je spustíte jeden po druhém.