[shell]afficher fichier selon autre fichier

Résolu
leeloo_aya Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
leeloo_aya Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je travaille actuellement sur un programme en Shell de Bourne permetttant la reservation de salles :
j'ai un fichier temp.sh qui contient une liste de salles
salle1:nbPoste:outils
salle2:nbPoste:outils
salle3:nbPoste:outils
..
et un fichier reservations.sh qui contient la liste des salles dejà reservées sous forme id;salle;date;heure :

1;salle1;09/08/2010;8
2;salle1;10/08/2010;10
3;salle7;08/09/2010;9
4;salle6;08/09/2010;11

j aimerai afficher les reservations des salles presentes seulement dans le fichier temp.sh
(a une date) .
je pense qu il faut que pour chaque ligne de temp , recuperer la salle et rechercher dans les reservations s'il y en a une (et sinon mettre un message comme quoi il n y a pas de reservation a cette date de cette salle) et je bloque totalement.

Merci d avance de votre aide




A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

$ cat temp.txt  
salle1:nbPoste:outils 
salle2:nbPoste:outils
salle3:nbPoste:outils

$ cat reservation.txt
1;salle1;09/08/2010;8
2;salle1;10/08/2010;10
3;salle7;08/09/2010;9
4;salle6;08/09/2010;11

$ A=$(awk -F':' '{print $1}' temp.txt)

$ echo $A
salle1 salle2 salle3

$ fgrep -hs $A reservation.txt
1;salle1;09/08/2010;8
2;salle1;10/08/2010;10

$

;-))
1
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Ou en plus simple :

grep -hsF $(awk -F':' '{print $1}' temp.txt) reservation.txt
0
leeloo_aya Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci de m avoir vite repondu

a quoi sert -hsF ?
grep et fgrep cest pareil ?

ca a l air de marcher (avec ta premiere solution jte remercie)
est ce qu on peut ecrit le resultat du grep en phrase ? (du genre la salle $2 est reservé le $3 a $4) ?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
a quoi sert -hsF ?
man grep, tout y est expliqué.


grep et fgrep cest pareil ?
En fait fgrep est l'équivalent de "grep -F"


est ce qu on peut ecrit le resultat du grep en phrase ? (du genre la salle $2 est reservé le $3 a $4) ?
Pour ça il faudra passer par de la mise en forme, avec "awk" ou "sed"...
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
$ grep -hsF $(awk -F':' '{print $1}' temp.txt) reservation.txt | awk -F';' '{ print "La "$2" est réservée le "$3" à "$4" heures" }'
La salle1 est réservée le 09/08/2010 à 8 heures
La salle1 est réservée le 10/08/2010 à 10 heures

$
0
leeloo_aya Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci ca marche niquel :)
0