Rozpakuj lub rozpakuj wiele plików naraz w systemie Linux
Jeśli masz katalog z dziesiątkami spakowanych lub rar'dowych plików, możesz uruchomić jedno polecenie, aby rozpakować je wszystkie w jednym kroku, dzięki mocy powłoki bash.
Do tego zadania użyjemy struktury komend bash dla pętli. Zastąp zmienną nazwą i komendą, która wyprowadza listę lub jawną listę.
dla w
robić
polecenie $;
Gotowe
Możesz uruchomić go w jednym wierszu z tą składnią:
dla w, wykonaj polecenie $; done
Więc jeśli chcesz odrejestrować listę plików, możesz użyć tego polecenia. Niekoniecznie potrzebujesz cudzysłowów, ale pomaga, gdy nazwy plików zawierają spacje lub coś w tym rodzaju.
dla f in * .rar; wykonaj unrar e "$ f"; done
Jeśli chcesz użyć 7zip do wyodrębnienia listy plików:
dla f in * .001; do 7z e "$ f"; done
Lub jeśli chcesz rozpakować listę plików:
dla f in * .zip; rozpakuj "$ f"; gotowe
Jeśli chcesz, możesz nawet łączyć polecenia. Na przykład, jeśli wszystkie pliki zip zawierają pliki .txt i chcesz je rozpakować, a następnie przenieść rozpakowane pliki do innego katalogu:
dla f in * .zip; rozpakuj "$ f"; gotowe; dla f in * .txt; wykonaj mv "$ f" / myfolder /; done
Powłoka basha jest tak niesamowicie potężna ... to nawet nie dotyka mocy, ale powinna dać ci dobre wyobrażenie o tym, co jest możliwe.