Décompresser un fichier .tgz et l'exploiter.

adiloos98 Messages postés 23 Statut Membre -  
adiloos98 Messages postés 23 Statut Membre -
Bonjour,
je travail sur un script qui me permet de récuperer la valeur d'un variable dans un fichier.
voici le script:

#!/bin/bash
path="/home/adil/10.81.1.34/conf/su/"
# boucle sur contenu de path
for client in $(ls $path);do
fichierConfig="${path}${client}/vc.conf"
# si le fichierconfig existe
if [ -f $fichierConfig ];then
# capture des lignes contenant les variables. Stockage ds fichier temporaire
egrep -o '^(ds[pc]ir|us[pc]ir)=[0-9]+' $fichierConfig > /tmp/var
# on source le fichier temporaire
. /tmp/var
# on teste les variables
if [ $dspir -ge 32 ] ;then
echo "le CPE est: $client"


fi

fi
done


en fait ce script me permet de bien tester la valeur d'un varaible dans un fichier pour un client,et afficher le ID du client si le variable est supérieure ou egale à 32.
le chemin d'information est:/home/adil/10.81.1.34/conf/su/17034376/vc.conf (exemple).
le probléme c'est que le contenu du répértoir (10.81.1.34) est compréssé(.tgz),donc je pourrai pas l'exploiter qu'apres la décompression.
est ce qu'ily'a une commande que je vais l'ajouter dans mon script qui me permettra d'eviter à chaque fois la décompression des fichiers.(j'ai fais la décompression avec la commande (tar xzf nom fichier).
et merci beaucoup.
A voir également:

7 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Essaie avec :
tar -tf rep.tgz

0
adiloos98 Messages postés 23 Statut Membre
 
bonjour jipicy.

J’ai fais inséré la commande tar -tf rep.tgz au début de script (après path= ……) mais ça marche pas, j’en sais pas est ce que je dois changer l’emplacement du commande ?
J’ai fais du recherche mais je n’ai pas trouvé ou il y’a le problème.
Merci pour vous aide.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Difficile de t'aider sans avoir toutes les données du problème ;-\

Que contient exactement le répertoire compressé ?

Dans la commande que je t'ai donnée, "rep.tgz" était un exemple sensé représenté ton répertoire compressé. Le résultat de cette commande produit une liste des fichiers contenus dans l'archive. Donc à toi d'adapter ton script en fonction de ce résultat.
0
adiloos98 Messages postés 23 Statut Membre
 
En faite les fichiers compressés existent dans le répertoire : /home/adil/10.81.1.34 (exemple).
Les fichiers qui m’intéressent sont :
BU_BEN-MCO-APC-1_backup_20080503_0411.tgz
BU_BEN-MCO-APC-1_backup_20080504_0411.tgz
BU_BEN-MCO-APC-1_backup_20080505_0410.tgz
BU_BEN-MCO-APC-1_backup_20080506_0411.tgz

Chaque fichier représente une configuration pour un mois.
La dernière configuration c’est celle qui contient le dernier numéro (20080506).
Donc mon script me permettra de déterminer le dernier fichier et le décompressé, afin que je puisse l’exploiter.
Le script que je te présentais je l’ai fais après la décompression de ce fichier a l’aide du commande (tar xzf mon fichier)
Et merci pour tes aides.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Ben si tu ne veux pas décompresser systématiquement l'archive en question, renvoie le résultat de :
tar -tf BU_BEN-MCO-APC-1_backup_20080506_0411.tgz > fich.tmp
dans un fichier temporaire (fich.tmp) et ensuite cherche le fichier (en tant que chaine de caractères) dans le fichier "fich.tmp". Sers-toi de la commande "grep" pour ça...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adiloos98 Messages postés 23 Statut Membre
 
ok, mais juste j'aimerais bien que le script me permetra de faire le test sur touts les fichiers .tgz, pour déterminer la dérniere configuration (dans cet exemple c'est le : BU_BEN-MCO-APC-1_backup_20080506_0411.tgz)
merci beaucoup pour tes aides.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Ben regarde du côté de l'option "-t" de la commande "ls"...
0
adiloos98 Messages postés 23 Statut Membre
 
wé la commande ls -t donne ce que je cherche, mais je sais pas comment faire pour rédiger le script,stp ta pas un script proche de ce que je cherche???
merci.
0