Как я могу извлечь несколько файлов 7Z в папке одновременно в Ubuntu?
Вопрос
Как я могу извлечь около 900 7Z файлов, которые все находятся в одной папке (все есть только один файл внутри), не делая его один за другим?
Я использую Ubuntu 10.10. Все файлы расположены в /home/username/folder1/folder2
.
Решение
for arc in *.7z
do
7zwhatever "$arc"
done
Другие советы
7za -y x "*.7z"
Вышеуказанный код работал для меня
for f in *.7z
do
7zr e "$f" &
done
Это извлечет все .7z
Файлы, если они 7z формат в текущий каталог, не дожидаясь завершения.
Ваш компьютер может быть принадлежен. Вы были предупреждены!
С использованием параллельно довольно удобный способ с полным метером прогресса бесплатно;)
ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
7z x "*.7z"
Это работало для меня в Ubuntu
Если вы хотите извлечь несколько 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.
в положении для использования A для цикла
Вы также можете использовать находку в сочетании с аргументом Exec или xargs
Самый простой способ unzip '*.zip'
.
Убедитесь, что у вас есть '
Метки.