Kiedy próbuję
unzip filename.zip
to działa. Muszę jednak rozpakować serię plików zip.
Dlaczego:
find . -name "*.zip" -print0 | xargs -0 unzip
lub
ls *.zip | xargs unzip
nie działa?
W obu przypadkach pojawia się komunikat „Uwaga: nazwa pliku nie pasuje:”.
command-line
zip
jeannoburto
źródło
źródło
unzip *
i wróciłcaution: filename not matched
do każdego pliku, aleunzip '*.zip'
wykonał zadanie.Twoje polecenia nie działają, ponieważ umieszczają wszystkie pliki w tym samym wierszu poleceń. Chociaż działa to z większością programów,
unzip
pierwszy argument będzie traktowany jako plik zip, a dowolny późniejszy jako plik do rozpakowania. Musisz wykonać polecenie raz dla każdego pliku:Lub
źródło
W bash możesz również wykonać następujące czynności:
unzip
Możesz także-d
przełączyć przełącznik, abyś mógł skierować dane wyjściowe do różnych lokalizacji.Na przykład:
źródło
Jest o wiele łatwiejsze rozwiązanie niż podane powyżej, użyj
-d
flagi katalogu :źródło
-d
określa katalog do wyodrębnienia, a nie katalog do wyszukiwania plików.