liste_rep="/folder/"
echo "LISTE REP :" $liste_rep
for rep in "$liste_rep"
do
for fichier in $liste_rep/.tar.gz
do
liste_rep="/folder/*"
echo "FICHIER :" $fichier
tar -zxvf "$fichier"
done
done
exit
Problème
Les fichiers sont tous décompressées dans le dossier de exécution du shell script et non pas à l'intérieur des chaque dossier. Or les tar.gz contiennent de fichier avec des noms identiques, et ils sont tous écrasés.
j'ai essayé avec les option ci-dessous
En rajoutant les paramètres suivants dans la ligne respective :
tar -zxvf "$fichier" -C $liste_rep
# Boucle correcte - destination erroné
Posté par shellx . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 1. Dernière modification le 11 juillet 2018 à 15:42.
Merci Anthony,
Cela a réglé un problème et soulevé un autre.
Voici tout l'historique:
Arborescence
[shellx] $ ls -l folder
total 16
drwxr-xr-x 2 shellx mrv 4096 11 juil. 14:36 001
drwxr-xr-x 2 shellx mrv 4096 11 juil. 14:37 002
drwxr-xr-x 2 shellx mrv 4096 11 juil. 14:37 003
drwxr-xr-x 2 shellx mrv 4096 11 juil. 14:34 004
Contenu des dossiers
[shellx] $ ls folder/*
folder/001:
CARDV022A0.tar.gz CARDV02976.tar.gz CARDV02A0.tar.gz CARDV976.tar.gz
folder/002:
CARDV02976.tar.gz CARDV976.tar.gz
folder/003:
CARDV022A0.tar.gz CARDV02976.tar.gz CARDV976.tar.gz
folder/004:
CARDV02976.tar.gz CARDV976.tar.gz
Script suivant ta suggestion
!/bin/bash
liste_rep="/folder/"
echo "LISTE REP :" $liste_rep
for rep in "$liste_rep"
do
for fichier in $liste_rep/.tar.gz
do
liste_rep="/folder/*"
echo "FICHIER :" $fichier
tar -zxvf "$fichier"
done
done
exit
Problème
Les fichiers sont tous décompressées dans le dossier de exécution du shell script et non pas à l'intérieur des chaque dossier. Or les tar.gz contiennent de fichier avec des noms identiques, et ils sont tous écrasés.
j'ai essayé avec les option ci-dessous
En rajoutant les paramètres suivants dans la ligne respective :
tar -zxvf "$fichier" -C $liste_rep
Le erreur suivant est affiché à l’écran pendant l'execution du script:
LISTE REP : /folder/001 /folder/002 /folder/003 /folder/004
FICHIER : /folder/001/CARDV022A0.tar.gz
tar: /folder/002 : non trouvé dans l'archive
tar: /folder/003 : non trouvé dans l'archive
tar: /folder/004 : non trouvé dans l'archive
tar: ArrÃat avec code d'échec à cause des erreurs précédentes
FICHIER : /folder/001/CARDV02976.tar.gz
tar: /folder/002 : non trouvé dans l'archive
tar: /folder/003 : non trouvé dans l'archive
tar: /folder/004 : non trouvé dans l'archive
tar: ArrÃat avec code d'échec à cause des erreurs précédentes
FICHIER : /folder/001/CARDV02A0.tar.gz
tar: /folder/002 : non trouvé dans l'archive
tar: /folder/003 : non trouvé dans l'archive
tar: /folder/004 : non trouvé dans l'archive
.
.
.
FICHIER : /folder/004/CARDV02A0.tar.gz
En faite la variable "$liste_rep" n'est pas très bien en compte à l'intérieur de la deuxième boucle.
Des idées?
Merci d'avance