Muszę wyodrębnić pojedynczy plik z pliku ZIP, do którego znam ścieżkę. Czy istnieje takie polecenie:
unzip -d . myarchive.zip path/to/zipped/file.txt
Niestety powyższe polecenie wyodrębnia i odtwarza całą ścieżkę do pliku z ./path/to/zipped/file.txt
. Czy istnieje sposób, aby po prostu wyciągnąć plik do określonego katalogu?
.jar
; jeśli twój plik ma inną nazwę, być może będziesz musiał powiedzieć AVFS, aby użył jego obsługi zip, np~/.avfs$PWD/foo.apk#uzip/META-INF
.-p
postaci (-c
wykonuje konwersję tekstu).Wprowadź pełną ścieżkę do skompresowanego pliku, a nie tylko nazwę pliku. Pamiętaj, aby zachować strukturę widoczną z pliku zip.
To wyodrębnić pojedynczy plik
file.txt
wmyarchive.zip
celu/path/to/unzip/to/file.txt
.źródło
Prostsza wersja:
Spowoduje to ponowne utworzenie
PATH_OF_FILE_INSIDE_ARCHIVE
w bieżącym katalogu, ale wyodrębni tylko określony plik.Aby wyświetlić listę wszystkich plików w archiwum Zip:
źródło
Na macOS , który domyślnie używa Info-Zip
Najpierw listę plików, aby znaleźć to, czego chcesz
Następnie podaj listę plików do wyodrębnienia z archiwum
Połącz z -p dla standardowego wyjścia
źródło
proste użycie:
i spowoduje to zawyżenie pliku.
źródło
-d outpath
argument, aby określić, gdzie plik jest umieszczony.-j
argument, aby uniknąć skompresowanych ścieżek