unpkg.sh: Un piccolo ma molto utile script

Quante volte ci è capitato di estrarre archivi e ritrovarci con centinaia di files e directories sparsi ovunque. Questo accade quando gli archivi sono sono creati senza includere la cartella di lavoro. Quello che potevate fare fino a ieri è di cancellare tutti i file nuovi facendo molta attenzione a non toccare i file che erano lì precedentemente.

Oggi grazie a questo piccolo script Bash è possibile fare questo in modo del tutto automatico e senza rischi per il sistema e per i nostri files.

Basta lanciare lo script passandogli come argomento il package. $ unpkg.sh <archivio1(.tar|.tgz|.tar.gtz|.tar.gz2|.zip)> [ ... <archivioN>]Come abbiamo visto lo script può accettare anche più di un archivio e supporta i formati: tar, tgz, tar.gz2 e zip.

!/bin/bash

for file; do case "$file" in *.tgz) rm -rf `tar ftz "$file"` ;; *.tar.gz) rm -rf `tar ftz "$file"` ;; *.tar.gz2) rm -rf `tar ftj "$file"` ;; *.tar) rm -rf `tar ft "$file"` ;; *.zip) FILE_LIST=`zipinfo -1 "$file"` IFS=$'\n' for FILE in $FILE_LIST; do if [ -d "$FILE" ]; then rm -fr "$FILE" else rm -f "$FILE" fi done; ;; *) echo "File format not supported ($file)" ;; esac done