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

Fermé
adiloos98 Messages postés 23 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008 - 12 mai 2008 à 20:31
adiloos98 Messages postés 23 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008 - 14 mai 2008 à 18:35
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
12 mai 2008 à 20:58
Salut,

Essaie avec :
tar -tf rep.tgz

0
adiloos98 Messages postés 23 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008
14 mai 2008 à 13:17
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
14 mai 2008 à 14:03
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 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008
14 mai 2008 à 16:28
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
14 mai 2008 à 16:39
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 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008
14 mai 2008 à 16:52
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
14 mai 2008 à 17:08
Ben regarde du côté de l'option "-t" de la commande "ls"...
0
adiloos98 Messages postés 23 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 août 2008
14 mai 2008 à 18:35
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