... chyba że powoduje to błąd „zbyt duży”. W takim przypadku będziesz chciał użyć czegoś takiego, jak find "$dir" -maxdepth 1 -name '*.gz' -print0 | xjobs -0 -l50 -v2 gunzipograniczyć wystąpienia do 50 argumentów każdy (i uruchomić je równolegle).
Toby Speight
22
@techedemic jest poprawne, ale brakuje „.” aby wspomnieć o bieżącym katalogu, a to polecenie przechodzi przez wszystkie podkatalogi.
# This will find files recursively (you can limit it by using some 'find' parameters.
# see the man pages
# Final backslash required for exec example to work
find . -name '*.gz' -exec gunzip '{}' \;
# This will do it only in the current directory
for a in *.gz; do gunzip $a; done
Jestem pewien, że są też inne sposoby, ale ten jest prawdopodobnie najprostszy.
Aby go usunąć, po prostu zrób rm -rf *.gzw odpowiednim katalogu
ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 tar xvfz
Więc spróbuj:
ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 rm
Spowoduje to rozpakowanie wszystkich plików .tar.gz w bieżącym katalogu, a następnie usunięcie wszystkich plików .tar.gz. Jeśli chcesz uzyskać wyjaśnienie, znak „|” pobiera standardowe wyjście polecenia przed nim i używa go jako wejścia standardowego polecenia po nim. Użyj „man command ” bez cudzysłowów, aby dowiedzieć się, co robią te polecenia i argumenty. Możesz też poszukać informacji online.
.gz
Plik nie musi być koniecznie archiwum. W takim przypadku nie miałbyś nic do usunięcia po wykonaniugzip -d file.gz
.Odpowiedzi:
To powinno wystarczyć:
źródło
find "$dir" -maxdepth 1 -name '*.gz' -print0 | xjobs -0 -l50 -v2 gunzip
ograniczyć wystąpienia do 50 argumentów każdy (i uruchomić je równolegle).@techedemic jest poprawne, ale brakuje „.” aby wspomnieć o bieżącym katalogu, a to polecenie przechodzi przez wszystkie podkatalogi.
źródło
Oczywiście jest na to więcej niż jeden sposób.
Jestem pewien, że są też inne sposoby, ale ten jest prawdopodobnie najprostszy.
Aby go usunąć, po prostu zrób
rm -rf *.gz
w odpowiednim kataloguźródło
Wypakuj wszystkie pliki gz w bieżącym katalogu i jego podkatalogach:
źródło
Jeśli chcesz wyodrębnić pojedynczy plik, użyj:
gunzip plik.gz
Rozpakuje plik i usunie plik .gz.
źródło
for foo in *.gz do tar xf "$foo" rm "$foo" done
źródło
Próbować:
Więc spróbuj:
Spowoduje to rozpakowanie wszystkich plików .tar.gz w bieżącym katalogu, a następnie usunięcie wszystkich plików .tar.gz. Jeśli chcesz uzyskać wyjaśnienie, znak „|” pobiera standardowe wyjście polecenia przed nim i używa go jako wejścia standardowego polecenia po nim. Użyj „man command ” bez cudzysłowów, aby dowiedzieć się, co robią te polecenia i argumenty. Możesz też poszukać informacji online.
źródło