Décompresser un fichier .tgz et l'exploiter.
adiloos98
Messages postés
23
Statut
Membre
-
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.
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:
- Fichier tgz linux
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
7 réponses
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.
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.
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.
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.
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.
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.
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.tmpdans 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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
merci beaucoup pour tes aides.