Czy istnieje sposób na konwersję zip
archiwum do tar
archiwum bez rozpakowywania go najpierw do katalogu tymczasowego? (i bez pisania własnej implementacji tar
lub unzip
)
shell-script
tar
zip
użytkownik253751
źródło
źródło
Odpowiedzi:
To jest teraz dostępne jako polecenie instalacyjne z PyPI, patrz koniec tego postu.
Nie znam żadnego „standardowego” narzędzia, które to robi, ale kiedy potrzebowałem tej funkcji, napisałem następujący skrypt Pythona, aby przejść z archiwów tar skompresowanych do formatu Bzip2 bez rozpakowywania plików na dysk:
Po prostu zapisz go
zip2tar
i zrób, aby był wykonywalny lub zapisz gozip2tar.py
i uruchompython zip2tar.py
. Podaj nazwę pliku ZIP jako argument skryptu, a wyjściową nazwą plikuxyz.zip
będziexyz.tar.bz2
.Skompresowane wyjście Bzip2 jest zwykle znacznie mniejsze niż plik zip, ponieważ ten drugi nie używa wzorców kompresji dla wielu plików, ale istnieje również mniejsze prawdopodobieństwo odzyskania późniejszego pliku, jeśli coś w pliku Bzip2 jest nieprawidłowe.
Jeśli nie chcesz wyjście kompresowane, zdjąć
:bz2
i.bz2
od kodu.Jeśli
pip
zainstalowałeś w środowisku python3, możesz:aby uzyskać
zip2tar
narzędzie wiersza polecenia, wykonujące powyższe czynności (wyłączenie odpowiedzialności: Jestem autorem tego pakietu).źródło
time
brakówimport
.time
komentarz, aktualizuję odpowiedźtar
Komenda dotyczy systemów plików. Dane wejściowe to lista plików, które następnie odczytuje z systemu plików (w tym wiele metadanych). Abytar
komenda mogła go odczytać, musisz przedstawić plik zip jako system plików .Wirtualny system plików - AVFS pozwoli każdemu programowi zajrzeć do zarchiwizowanych lub skompresowanych plików za pośrednictwem standardowego interfejsu systemu plików za pomocą FUSE .
W pliku readme avfs-fuse znajduje się kilka szczegółowych informacji, a niektóre dystrybucje zawierają odpowiednie pakiety .
Jeśli masz zainstalowany system AVFS, możesz
System AVFS wypełni wszelkie informacje dotyczące systemu plików, których brakuje w pliku zip, takie jak prawo własności do pliku, które tar pobierze.
źródło
Oto mały fragment, który konwertuje archiwum ZIP do pasującego archiwum TAR.GZ OnTheFly.
Konwertuj archiwum ZIP do archiwum TAR w locie
Źródło
źródło