2010-11-23 8 views

Répondre

0
for file in *.exe 
do 
    tar -zcvf ${file/.exe}.tar.gz $file 
done 

Ou sur une ligne:

for file *.exe; do tar -zcvf ${file/.exe}.tar.gz $file; done 

Remplacer *.exe avec folder_name/*.exe pour rechercher dans un dossier spécifique.

+0

Le problème est que vous n'êtes pas récursif dans le dossier, mais cela peut suffire selon les besoins d'emcgfx. –

+0

J'en ai utilisé une partie merci Ltn100 – EMC

1
find folder_name -name "*.exe" -type f|while read file; do 
    tar -zcvf $(basename $file).tar.gz $file; 
done 

gauche quittant le .exe du nom d'archive comme un exercice;).

0

Compilation de deux:

find folder_name -name "*.exe" -type f|while read file; do 
    localfile=$(basename $file); tar -zcvf ${localfile/%exe/tar\.gz} $file; 
done 
+0

J'en ai utilisé une partie, merci JB. – EMC

0

Essayez ceci:

find folder_name -name "*.exe" -type f -exec sh -c 'tar -zcvf "$(basename {} .exe).tar.gz" "{}"' \; 

Pas besoin de for ou while.

+0

Merci les gars :-) Cela aide beaucoup. – EMC