Jeśli musicie co jakiś czas rozpakowywać z poziomu terminala wiele plików naraz, to z pewnością przydałaby się wam metoda zautomatyzowania tego procesu. Ja niedawno również stanąłem przed takim problemem i postanowiłem napisać krótki skrypt, który by mnie nieco wyręczył, ponieważ nie cierpię machinalnego powtarzania nieciekawych czynności :-) Oto moja propozycja skryptu do rozpakowywania wielu plików:
#!/bin/bash
find -maxdepth 1 -name '*.[zZ][iI][pP]' -exec unzip -o '{}' ';'
find -maxdepth 1 -name '*.[rR][aA][rR]' -exec unrar x '{}' ';'
find -maxdepth 1 -name '*.[zZrR][iIaA][pPrR]' -exec rm -rf '{}' ';'
Powyższy skrypt z pomocą wyrażeń regularnych sprawdza, czy w obecnym katalogu znajdują się pliki z rozszerzeniami *.zip, *.ZIP, *rar albo *.RAR, następnie je rozpakowuje i kasuje skompresowane pliki.
Jeśli ktoś nie chce pozbywać się skompresowanych plików może, pominąć ostatnią linijkę. Ja zapisałem ten skrypt jako "xpl" w katalogu $HOME/bin ale można go w innym katalogu, który znajduje się w zmiennej $PATH. Należy pamiętać o nadaniu plikowi odpowiednich uprawnień, czyli np.
$ chmod a+x $HOME/bin/
Istnieje sporo sposobów na osiągnięcie tego samego efektu (np. xargs etc.), więc jeśli ktoś będzie miał jakiś pomysł to proszę się nie krępować i napisać komentarz.

Brak komentarzy:
Prześlij komentarz