Paketno razširjanje arhivov ZIP

Predstavljajte si, da imate več 1000 zip arhivov v neki mapi. Zapakirani so tako, da ne vsebujejo podrobnosti o mapi. To pomeni, da bi ob razširitvi dobili katastrofalno solato, iz katere se ne bi mogli znajti. Rešitev je ta preprosta skripta, ki omogoča hitro razširjanje zip arhivov v lastne podmape.

Nastavitev skripte

Skripto si lahko prenesete iz skladišča GitHub in jo shranite na disk. Sedaj odprite konzolo in jo napravite izvedljivo:

chmod +x zip_unpack.sh

Nato se podajte v urejanje nastavitev (samodejno nastavljanje žal ni mogoče). Datoteko odprite s poljubnim urejevalnikom besedilnih datotek (recimo Kate v KDE, Gedit v Gnome ali nano, pico, vi, vim v konzoli. Uredite poti do izvirne mape, ki vsebuje .zip datoteke - spremenljivka SRCDIR. Skripta bo opozorila, če mapa ne obstaja, zato ni panike, da bi šlo kaj narobe. Nastavite tudi mapo kamor bi radi arhive razširili - spremenljivka DIR, če ta še ne obstaja, ga bo skripta samodejno napravila. Bodite pozorni na to, da na koncu poti zapišete poševnico /, da bo zadeva sploh delovala.

Ko končate, datoteko shranite in zaženite preko ukaza

bash zip_unpack.sh

Skripto ob vsakem času prekinete tako, da pritisnete tipkovno kombinacijo Ctrl+C ali pa enostavno zaprete bash okno

Kako paketno razširjanje deluje?

Skripta prebere vsebino mape določene s SRCDIR (če ta seveda obstaja) in poišče le arhive .zip. Nato preveri, če ciljna mapa DIR obstaja. V primeru, da mapa ne obstaja, jo ustvari. Sledi razširjanje, kjer unzip razširi v podmapo, ki je ime arhiva, predelano tako da so presledki zamenjani s podčrtaji. Presledkov v parametru -d namreč unzip ne mara. Skripta poleg tega še izpiše skupno število razširjenih datotek.

Za lažje razumevanje kode, sem v datoteko dodal tudi opombe.


Vam je vsebina všeč? Delite jo na: