In place untar et supprimer tar (ou tar.gz)

J’ai ce petit code ici

for i in *.tar.gz; do tar xzvf $i; done && find . -name "*.tar.gz" -exec rm {} \; 

Maintenant, quand j’ai plusieurs tars, il va d’abord les désarchiver et ensuite supprimer les fichiers tar.

Comment puis-je modifier le code pour décompresser un fichier, le supprimer puis passer au fichier tar suivant?

Merci d’avance

 for file in *.tar.gz; do tar xzvf "${file}" && rm "${file}"; done 

N’oubliez pas de citer vos variables pour prendre en compte les noms de fichiers funky avec des espaces.

Changez simplement l’ordre des actions:

 for i in *.tar.gz; do tar xzvf "$i" && rm -r "$i" done