PiumaLab

Idee, esperimenti, tentativi e molto altro

Cancellare i file creati dall'apertura di un archivio

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

Leave a Reply

Your email address will not be published. Required fields are marked *