Иногда нужно разархивировать сразу несколько файлов в формате zip и rar, находящихся в одной папке. В пользовательском интерфейсе Ubuntu это довольно просто: нужно просто выбрать все файлы, которые вы хотите разархивировать, щелкнуть на них правой кнопкой мыши и использовать опцию Extract, чтобы разархивировать их все. Все становится действительно сложнее, когда мы хотим выполнить ту же задачу из командной строки. Это может оказаться довольно утомительным и нелогичным - извлекать файлы один за другим, набирая команды для извлечения одного за другим. Вот здесь-то и пригодится цикл for в Bash. Он позволяет выполнять несколько одинаковых операций одновременно.
В этой статье описывается, как использовать цикл for для извлечения нескольких файлов следующего типа с помощью командной строки Ubuntu:
- Zip
- Tar.xz
- Rar
- 7z
Распаковка нескольких ZIP файлов одновременно
Предположим, что папка, в нашем случае папка "zip_files", содержит несколько заархивированных файлов, и мы хотим извлечь их одновременно.
Вот как можно использовать цикл for, чтобы упростить задачу:
1 2 3 4 | for z in *.zip do unzip $z; done |
Вот как можно выполнить ту же задачу с помощью одной единственной команды:
1 | for z in *.zip; do unzip "$z"; done |
Одновременное извлечение нескольких файлов tar.xz
Предположим, что папка содержит несколько файлов tar.xz, и мы хотим извлечь их одновременно.
Вот как можно использовать цикл for, чтобы упростить задачу:
1 2 3 4 | for z in *.tar.xz do tar -xf $z; done |
А вот как можно выполнить ту же задачу с помощью одной команды:
1 | for z in *.tar.xz; do tar -xf "$z"; done |
Разархивирование нескольких RAR файлов одновременно
Используйте следующую команду, чтобы разархивировать несколько файлов rar одновременно.
1 2 3 4 | for z in *.rar do unrar e $z; done |
Или
1 | for f in *.rar; do unrar e "$f"; done |
Одновременная распаковка нескольких файлов 7z
Используйте следующую команду для одновременного извлечения нескольких файлов 7z.
1 2 3 4 | for z in *.7z do 7z e $z; done |
Или
1 | for z in *.7z; do 7z e "$z"; done |
Используя цикл Bash for, вы можете легко выполнить задачу по распаковке нескольких сжатых файлов одновременно. Этот небольшой навык, которому вы научились в этой статье, особенно удобен, когда нам нужно распаковать сотни сжатых файлов одновременно. Вы можете использовать цикл for не только для распаковки файлов, но и для других подобных задач, которые занимают больше времени, если выполнять их по одному.