Jak wyodrębnić i połączyć pliki xxx.zip, xxx.z01 i xxx.z02

23

Mam trzy pliki 1.zip, 1.z01 1.z02. Chciałbym wyodrębnić je i dołączyć do pliku, klikając prawym przyciskiem 1.zip i wybierając „Wyodrębnij tutaj”. Ale wtedy pojawia się błąd:

7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30 p7zip Wersja 9.04 (locale = en_US.utf8, Utf16 = on, HugeFiles = on, 2 procesory)

Błąd: /home/tim/Desktop/1.zip: Nie można otworzyć pliku jako archiwum

Błędy: 1

Zastanawiałem się, na czym polega problem i jak go rozwiązać?

Dziękuję i pozdrawiam!


DODANO: Czy moje użycie polecenia „rozpakuj -FF” jest nieprawidłowe? Wygląda na to, że nie działa:

$ unzip -FF 1.zip 
Archive:  1.zip
warning [1.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
file #1:  bad zipfile offset (local header sig):  0

Dzięki jeszcze raz!

2-ga DODANA: Nadal nie masz racji.

$ cat 1.z01 1.z02 1.zip > combined.zip && unzip -FF combined.zip
Archive:  combined.zip
warning [combined.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
warning [combined.zip]:  209829313 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  209829313
  (attempting to re-compensate)
 extracting: 1.wmv   bad CRC ee181eef  (should be f3c61875)

Wygenerował 1.wmv, który może grać dobrze tylko do połowy w Gnome Mplayer.

3. DODANE: Czy źle używam 7z:

$ 7z e 1.z01

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30 p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: 1.z01

Error: Can not open file as archive

$ 7z e 1.zip

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30 p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: 1.zip

Error: Can not open file as archive
Tim
źródło

Odpowiedzi:

11

Mam dzisiaj ten sam problem z Mass Effect 3. Głupie programy kodujące żywność zepsuły instalację Mass Effect 3 w nowej wersji pochodzenia na Windows i oczywiście moje wino (instalacja wisi na 99%). Muszę wykonać instalację ręczną:

cp /mnt/cdrom1/Mass\ Effect\ 3.z01 ~/temp/Mass\ Effect\ 3.z01
cp /mnt/cdrom2/Mass\ Effect\ 3.zip ~/temp/Mass\ Effect\ 3.zip
zip -FF Mass\ Effect\ 3.zip --out Mass\ Effect\ 3.zip.fixed
mkdir Mass\ Effect\ 3
unzip -d Mass\ Effect\ 3/ Mass\ Effect\ 3.zip.fixed
du --total Mass\ Effect\ 3
>> 10466048 (~10.5 GB => success)

zip -FF należy zastosować do ostatniej części archiwum, automatycznie sprawdzi wszystkie części

puchu
źródło
28

Próbować:

zip -FF 1.zip --out 1-full.zip
unzip -FF 1-full.zip

Myślę, że najprawdopodobniej niektóre dane są wielokrotnie niszczone, więc potrzebujesz -FFnadal unzip. Singiel -Fmoże jednak również działać.

TNT
źródło
Jak to zrobić w systemie Windows?
Danijel
1
czy potrzebujemy -FF do rozpakowania?
shabunc
4

Umieść wszystkie pliki zip w tym samym katalogu: zip_file.z01, zip_file.z02, zip_file.z03, ..., zip_file.zip

W wersji Zip 3.0 działały dla mnie następujące polecenia:

$ zip -s- zip_file.zip -O zip_file_full.zip
$ unzip zip_file_full.zip

Jak zauważono w komentarzach, użycie -znaku po opcji wiersza poleceń -słączy wszystkie pliki zip razem i zapisuje je jako pojedynczy plik zip, który można następnie wyodrębnić za pomocą unzippolecenia.

kmario23
źródło
2
To działało idealnie. Może powinieneś dodać, że parametr „-s” ma podzielić na kilka plików, ale jeśli podany rozmiar ma wartość 0 lub jest ujemny (w twoim przypadku podajesz „-”), to zamiast dzielić, łączy się, aby połączyć wszystkie pliki.
AwkMan,
Wielkie dzięki @AwkMan :) Gotowe!
kmario23
3

Miałem też pewne problemy. man rozpakuj powiedział:

Zip 3.0 i nowsze wersje mogą także łączyć wieloczęściowe (podzielone) archiwa w połączone archiwum jednego pliku za pomocą `` zip -s- inarchive -O outarchive ''.

To (zip -s- vmdkdisk -O połączone) wydaje się działać dla mnie ... (połączyć vmdkdisk.z01 i vmdkdisk.zip w jeden plik w połączeniu .zip)

Sebas
źródło
2

Zgodnie z treścią archiwa man zipSplit .zip ” można ponownie łączyć i rozpakowywać za pomocą unzip -FF.

sladen
źródło
Dzięki! Ale to wydaje się nie działać. Zobacz moją aktualizację mojego postu. Dzięki!
Tim
cat 1.z01 1.z02 1.zip > combined.zip && unzip -FF combined.zip?
sladen
Dzięki! Teraz generuje 1.wmv, ale jest jakiś błąd.
Tim
Czy działa 7z(7-Zip) na pierwszym .z01pliku?
sladen
Nadal nie. „Błąd: Nie można otworzyć pliku jako archiwum”. Zobacz moją aktualizację.
Tim
1

Powyższe rozwiązanie kmario23 jest poprawne Widzę kilka błędów literowych. Oto inny przykład.

    pramodimac:SDK pramod$ pwd
    /Users/pramod/Downloads/SDK
    pramodimac:SDK pramod$ ls -ltrh
    total 150104
    -rw-r--r--@ 1 pramod  staff   1.3M Jun  3 11:56 SDK.zip
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z03
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z04
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z01
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z02
    pramodimac:SDK pramod$ zip -s 0 SDK.zip --out single.zip
    pramodimac:SDK pramod$ ls -ltrh
    total 300208
    -rw-r--r--@ 1 pramod  staff   1.3M Jun  3 11:56 SDK.zip
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z03
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z04
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z01
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z02
    -rw-r--r--  1 pramod  staff    73M Jun  6 22:26 single.zip
    pramodimac:SDK pramod$ unzip single.zip
Pramod Patlolla
źródło
1
Możesz po prostu edytować jego odpowiedź ...
wittich,
0

Przejdź do katalogu, w którym znajdują się archiwa, poprzez terminal.

Jeśli są na pulpicie, polecenie to:

cd ~/Desktop

~to nazwa twojego folderu domowego. Utwórz pełne archiwum za pomocą tego polecenia:

zip -F (name of last part of archive, which will end with .zip, not .z0X) --out (desired output name of compiled archive, if has spaces put " marks around the name).zip

Utworzono pełne archiwum.
Rozpakuj pełne archiwum za pomocą tego polecenia:

unzip (full archive name, with " marks around it if has spaces).zip -d (destination folder directory, see first step)
86434
źródło
0

Pamiętaj, że jeśli pliki kontrolne (01, 02 itd.) Są tworzone przez system Windows (Z01, Z02 itd.), Twój linux ich nie znajdzie. Musisz zmienić nazwę plików na Z01, Z02 ..

Ramon Fincken
źródło