faut'il passer par un fichier tmp ?

faut'il passer par un fichier tmp ? - Shell/Batch - Programmation

Marsh Posté le 08-12-2004 à 22:34:20    

bonsoir tous le monde.
Voila j'ai un nouveau soucis (petit celui-ci).
en fait il faut que je recupere la derniere ligne d'un fichier pour comparer des valeurs. Mais est-ce que je suis obliger de sauver la derniere ligne ds un fichier tmp.
voici mon code :

Code :
  1. TEMPFIC="tmp.txt"
  2. ligne=`tail -1 sauv.txt`
  3. echo $ligne >b
  4. grep -wi $1 b >$TEMPFIC
  5. if [ $? -eq 0 ] ;then
  6. echo "We have a winner !!!!"
  7. else
  8. echo "Mauvaise conclusion"
  9. fi
  10. rm $TEMPFIC 2>log.txt


 
Donc ici avec le tail je sauvegarde le resultat ds un fichier b mais est-ce obligatoire ? puis je faire les testes de comparaison autrement ?
Sinon j'ai une autre question quand je fais le grep, il affiche dans la console la ligne du fichier et moi je veux pas alors je le met dans un fichier. Y a t'il pas moyen de faire la redirection vers une sorte de poubelle que vers un fichier ?
 
merci d'avance


Message édité par schmur le 08-12-2004 à 22:36:21
Reply

Marsh Posté le 08-12-2004 à 22:34:20   

Reply

Marsh Posté le 08-12-2004 à 23:23:15    

#!/bin/sh
 
if tail -n1 sauv.txt | grep -qwi $1
then
       echo "We have a winner !!!!"
else
       echo "Mauvaise conclusion"
fi


 
C'est ca que tu veux faire ?
 
Sinon pour ta deuxieme question : dans ce cas precis il vaut mieux utiliser le flag -q de grep. Dans le cas general, tu peux faire :

commande > /dev/null 2>&1


"> /dev/null" envoit stdout sur /dev/null. "2>&1" envoit stderr sur stdout.

Reply

Marsh Posté le 08-12-2004 à 23:34:28    

je crois que c'est ca je vais essayer demain.
Mes yeux se ferme il est tard.
en tout cas merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed