Как распаковать каждый файл в каталоге в соответствующую папку?

Вопрос или проблема

У меня есть директория, полная файлов *.rar, и я хочу, чтобы каждый из них был извлечен в папку с тем же именем, что и его .rar соответствует, но я не хочу использовать циклы for. Как я могу это сделать?

Я на Ubuntu 20.04

Вы можете попробовать использовать unrar на Ubuntu, установив его с помощью sudo apt-get install unrar.

После этого вам придется создать цикл for, чтобы извлечь файлы отдельно, не объединяя их в одну папку.

Это можно сделать следующим образом: for f in *.rar; do unrar e "$f"; done.

Если вы хотите зафиксировать любую ошибку, вы всегда можете создать простой скрипт, в котором создается цикл, и внутри цикла вы будете записывать или выводить что-нибудь в определенный файл.

На Ubuntu есть пакет под названием unar, который делает то, что вам нужно.

Ключ -d оказывает неоценимую помощь

-d, -force-directory
Всегда создавайте содержащую директорию для содержимого распакованного архива. По умолчанию создается директория, если есть более одного файла или папки верхнего уровня.

Так что нечто подобное unar -d *.rar * должно сработать.

Ответ или решение

Чтобы разархивировать каждый файл в директории в соответствующую ему папку без использования циклов, можно воспользоваться утилитой unar, которая доступна на Ubuntu. Прежде всего, убедитесь, что у вас установлена эта утилита. Вы можете установить её, выполнив следующую команду в терминале:

sudo apt-get update
sudo apt-get install unar

После установки unar, разархивирование можно произвести с помощью ключа -d, который всегда создаёт директорию для содержимого распакованного архива. В вашем случае команда будет выглядеть следующим образом:

unar -d *.rar

Эта команда пройдётся по всем файлам с расширением .rar в текущей директории и разархивирует их в папки с теми же именами, что и у архивов.

Использование unar: основные моменты

  • unar автоматически создаёт соответствующую папку для каждого архива благодаря опции -d (или -force-directory), что позволяет избежать необходимости использования цикл for.
  • Эта опция удобна, так как даже если в архиве только один файл, для него всё равно будет создана отдельная папка, что обеспечивает структурированность и порядок в директории.

Другие преимущества применения unar:

  1. Понятность и простота. Unar выделяется своей интуитивно понятной командной строкой и не требует сложных конструкций для выполнения базовых операций.
  2. Эффективность. Извлечение происходит быстро благодаря минимизации вмешательства оператора, что особенно актуально при работе с большим количеством файлов.

Заключение:

Применение unar с ключом -d является простым и эффективным решением для задачи разархивирования файлов в Ubuntu, минимизируя необходимость написания сложных скриптов и обеспечивая порядок в структуре данных. Таким образом, вы экономите своё время и снижаете вероятность ошибок при ручном управлении архивами.

Оцените материал
Добавить комментарий

Капча загружается...