Способы разархивировать все файлы в каталоге в Linux

Чтобы разархивировать все файлы в каталоге в Linux, вы можете использовать различные методы. Вот некоторые распространенные подходы с примерами кода:

Способ 1: использование команды распаковки

unzip '*.zip' -d destination_directory

Эта команда использует утилиту unzipдля извлечения всех ZIP-файлов (*.zip) в текущем каталоге и помещения извлеченных файлов в указанный destination_directory.

Метод 2: использование цикла и команды разархивирования

for file in *.zip; do unzip "$file" -d destination_directory; done

Этот метод использует цикл для перебора каждого ZIP-файла в текущем каталоге и извлекает его содержимое в указанный destination_directory.

Метод 3: использование find и xargs с командой разархивирования

find . -name '*.zip' -print0 | xargs -0 -I {} unzip {} -d destination_directory

Этот метод использует команду findдля поиска всех ZIP-файлов (*.zip) в текущем каталоге и его подкаталогах. Затем он передает имена файлов в xargs, который запускает команду unzipдля каждого файла, извлекая содержимое в указанный destination_directory.

Метод 4. Использование скрипта Python

import os
import zipfile
directory = '/path/to/directory'
for filename in os.listdir(directory):
    if filename.endswith('.zip'):
        file_path = os.path.join(directory, filename)
        with zipfile.ZipFile(file_path, 'r') as zip_ref:
            zip_ref.extractall(directory)

Этот скрипт Python сканирует указанный каталог на наличие ZIP-файлов и извлекает их содержимое с помощью модуля zipfile.