Как я могу извлечь несколько файлов 7z в папку одновременно в Ubuntu? - PullRequest
16 голосов
/ 25 ноября 2010

Как я могу извлечь около 900 файлов 7z, которые все находятся в одной папке (все содержат только один файл), не делая это один за другим?

Я использую Ubuntu 10.10. Все файлы находятся в /home/username/folder1/folder2.

Ответы [ 8 ]

19 голосов
/ 07 сентября 2016
7za -y x "*.7z" 

Приведенный выше код работал для меня

14 голосов
/ 25 ноября 2010
for arc in *.7z
do
  7zwhatever "$arc"
done
7 голосов
/ 21 июля 2013

Использование параллельный - довольно удобный способ с полным индикатором прогресса бесплатно;)

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
7 голосов
/ 25 ноября 2010
for f in *.7z
do
    7zr e "$f" &
done

Это извлечет все файлы .7z, если они имеют формат 7z, в текущий каталог, не дожидаясь завершения.

Возможно, ваш компьютер принадлежит.Вы были предупреждены!

4 голосов
/ 17 мая 2018

7z x "*.7z" это сработало для меня в Ubuntu

0 голосов
/ 04 июня 2018

Если вы хотите извлечь несколько архивов 7zip в папки с одинаковыми именами в Linux, вы можете использовать:

for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done

Например, если у вас есть два архива 7zip a.7z и b.7z,он создаст две папки a и b и распакует a.7z в папку a и b.7z в папку b.

Приведенная выше команда взята из этот ответ насуперпользователь от пользователя Vojtech .

0 голосов
/ 03 февраля 2012

Самый простой способ - unzip '*.zip'.

Убедитесь, что у вас есть отметки '.

0 голосов
/ 25 ноября 2010

в дополнение к использованию цикла for

вы также можете использовать find в сочетании с аргументом exec или xargs

...