Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/06/2009, 13h50   #1
Invité de passage
 
Inscription : juin 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 2
Points : 0
Points : 0
Par défaut extraction a partir de plusieur fichiers regroupé dans un répertoire

salut tout le monde je veux reccuperer les memes champs dans plusieurs fichiers regroupés en un seul répertoire
jai un script mais je le comprrends pas vraiment
est ce que quelqun peut maider en faisant un commentaire sur les commandes

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh
#set -x

RAC=/home/omc/TRAVAIL/OSS/STATRANS
TMP=$RAC/etat_stat_Abis.tmp

######
# Traitement des liens Abis
######

TYP="Abis"

RES=`uname -n`.txt
RES=`expr substr $RES 1 3`
RES=${RAC}/${RES}-${TYP}.txt

rm $TMP $RES $RAC/tmp.*

DIR=$RAC/BCF/log_get
rm $DIR/*.~*
cd $DIR
for i in `ls -1 *.lst`
do
	LBSC=`expr length $i - 4`
	BSC=`expr substr $i 1 $LBSC`
	printf "--BSC: %s\n" $BSC >> $TMP
	if [ -s $DIR/$BSC.lst ]
	then
		awk -v BSC=$BSC -f $RAC/BCF/get.awk $DIR/$BSC.lst >> $TMP
	fi
	printf "--Fin\n" $BSC >> $TMP
done

awk -v TYP=$TYP -f $RAC/etat_stat_trans.awk1 $TMP

rm $TMP

cd $RAC
for i in `ls -1 tmp.$TYP.*`
do
	awk -v BSC=$BSC -f $RAC/etat_stat_trans.awk2 $RAC/$i >> $TMP
done

awk -f $RAC/etat_stat_trans.awk3 /home/omc/TRAVAIL/OSS/G2R_CI.TXT $TMP > $RES

rm $TMP $RAC/tmp.*

Dernière modification par gangsoleil ; 10/06/2009 à 10h51. Motif: balises code
aissamn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2009, 11h01   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 129
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 129
Points : 8 749
Points : 8 749
Bonjour,

Quelques pistes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh
#set -x

RAC=/home/omc/TRAVAIL/OSS/STATRANS
TMP=$RAC/etat_stat_Abis.tmp

######
# Traitement des liens Abis
######

TYP="Abis"

RES=`uname -n`.txt  ##RES contient nom_de_machine.txt
RES=`expr substr $RES 1 3` 
RES=${RAC}/${RES}-${TYP}.txt

rm $TMP $RES $RAC/tmp.* ## Ceci est une heresie : tu supprimes des fichiers que tu n'as pas cree !

DIR=$RAC/BCF/log_get
rm $DIR/*.~* ## Ceci est une heresie : tu supprimes des fichiers que tu n'as pas cree !
cd $DIR
for i in `ls -1 *.lst` ## Pour chaque fichier lst
do
	LBSC=`expr length $i - 4`## longueur du nom de fichier
	BSC=`expr substr $i 1 $LBSC`## nom de fichier sans extension
	printf "--BSC: %s\n" $BSC >> $TMP ## affiche le nom du fichier
	if [ -s $DIR/$BSC.lst ] ## Si le fichier existe et que sa taille n'est pas 0
	then
		awk -v BSC=$BSC -f $RAC/BCF/get.awk $DIR/$BSC.lst >> $TMP
	fi
	printf "--Fin\n" $BSC >> $TMP
done

awk -v TYP=$TYP -f $RAC/etat_stat_trans.awk1 $TMP

rm $TMP

cd $RAC
for i in `ls -1 tmp.$TYP.*`
do
	awk -v BSC=$BSC -f $RAC/etat_stat_trans.awk2 $RAC/$i >> $TMP
done

awk -f $RAC/etat_stat_trans.awk3 /home/omc/TRAVAIL/OSS/G2R_CI.TXT $TMP > $RES

rm $TMP $RAC/tmp.*
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h54.


 
 
 
 
Partenaires

Hébergement Web