LINUX.ORG.RU

распаковать архивы в архивах

 


0

1

Скажите, какой высший смысл преследуют пользователи, запихивая архивы в архивы? неужели мизерная экономия перевешивает неудобство и медлительность доступа?

Есть гиговые 7z архивы, в них вперемешку с файлами лежат ещё архивы, 7z, иногда zip. Как наиболее правильно было бы это всё распаковать с сохранением структуры? распаковка вложенных архивов - в подкаталог с его именем?

Сначала делаю 7z x archive.7z o dest_folder А потом как? с find?

неужели мизерная экономия перевешивает неудобство и медлительность доступа?

Экономия, прошу прощения, чего?

Скажите, какой высший смысл преследуют пользователи, запихивая архивы в архивы?

Их и спроси.

Как наиболее правильно было бы это всё распаковать с сохранением структуры?

Озвучь настоящую задачу.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Экономия, прошу прощения, чего?

дискового пространства? Правда я вообще не готов эти файлы хранить в архивах, уж больно неудобно.

Озвучь настоящую задачу.

распаковать архив так, чтобы каждый вложенный архив превратился в папку с файлами.

использовать:

  1. find
  2. чито ещё?
hikikomori ★★★
() автор топика

Наверняка можно просто сказать «окей, гугл/сири/маруся/ChatGPD» и подключить устройство по USB и навести камеру КПК. Специально обученные нейросети поводят курсором как надо, нажмут нужные клавиши. Вопрос решён…

DanilaZabiakaa
()
Последнее исправление: DanilaZabiakaa (всего исправлений: 1)
Ответ на: комментарий от hikikomori

Пока попробую просто так:

find -type f -iname '*.7z' -exec 7z x {} -o{} \;

а можно из -o{} убрать расширение?

upd: При распаковке повалились ошибки:

ersHPFreePack_(UtilitiesUnlimited)/SuperParametersHPFreePack/SuperParametersHPFreePack_55.1.raw
ERROR: Can not open output file : Это не каталог : ./C64_Kopierprogramme with RAW images.7z/Super-Card+_v6.0_1991_Utilities_Unlimited/RAW/SuperParametersHPFreePack_(UtilitiesUnlimited)/SuperParametersHPFreePack/SuperParametersHPFreePack_56.0.raw
ERROR: Can not open output file : Это не каталог : ./C64_Kopierprogramme with RAW images.7z/Super-Card+_v6.0_1991_Utilities_Unlimited/RAW/SuperParametersHPFreePack_(UtilitiesUnlimited)/SuperParametersHPFreePack/SuperParametersHPFreePack_56.1.raw

...

                                                                    
Sub items Errors: 2063
Archives with Errors: 1
Sub items Errors: 2063


hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 3)

Скажите, какой высший смысл преследуют пользователи, запихивая архивы в архивы?

Это один из способов предотвращения автоматического анализа содержимого арховов. Но судя по всему тут другой случай.

Скорей всего запихнули все в архив , не разбираясь файлы или архивы туда попадают.

Psilocybe ★★★★
()
Ответ на: комментарий от Psilocybe

Да, от балды наверное.

Пытаюсь распаковывать.

find -type f -iname '*.7z' -exec 7z x {} -o{} \;

Ошибка из-за имени, которое подставляет find в {}. Нужно без расширения, иначе ошибка. Можно ли как-то убрать расширение из скобок? Я не очень глубоко знаю find..

hikikomori ★★★
() автор топика

какой высший смысл преследуют пользователи, запихивая архивы в архивы?

А я расскажу какой. Вот мне бывает надо запаковать приложение + исходники + отладочные символы. Так вот отладочные символы и исходники кладу в отдельные архивы. Для чего? Потому что они бывают нужны 1 раз из 10, так зачем они будут лежать в 9 остальных случаях на накопителе в распакованном виде?

Loki13 ★★★★★
()

Чаще всего такие архивы получаю от людей, которые не заморачиваются вообще. Кидают мышью в архив всё, что видят. Я считаю это проявлением неуважения, но сабжи даже не в состоянии понять почему.

Я говорю именно о случаях глупости и непонимания. Случаи, когда вкладываются в оформление архива детектятся.

her_s_gory
()

О, я смотрю, у тебя зачатки обсессивно-компульсивного расстройства. Чтобы подлить масла в огонь, советую попробовать zpaq. Ценой огромного времени упаковки и потом такого же огромного времени распаковки zpaq может сжать данные заметно сильнее. Но на некоторых данных zstd --long= может оказаться лучше. Архиваторов и компрессоров много. Перепробуй их все!

i-rinat ★★★★★
()
Ответ на: комментарий от hikikomori

дискового пространства

Если поместить архив внутрь архива (при условии одинакового архиватора и одинаковых настроек в обоих случаях), то расход дискового пространства только увеличится по сравнению с «одноуровневым» архивом.

annulen ★★★★★
()