[sh] script pour debutant

Résolu
sdblepas Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
sdblepas Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous
J'essaie de faire un script qu ouvre un fichier
lit un ligne precise (via grep) et retourne une partie de ce meme grep (via sed)
voila le code
#!/bin/sh

cd /exlibris/primo/p2_1/ng/jaguar/home/profile/log #open se_log

i=grep "total doc number = " agent_9501.log | tail -1 # get one line of the doc number

echo $i

dans i je dois avoir "2009.11.22 18:21:36 slice id: 1 OUTPUT>total doc number = 821126"

apres j'aimerais creer une variable avec 821126 dedans pour faire un echo de ce chiffre

Merci beaucoup
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Affiche un bout de ton fichier "agent_9501.log" (contenant la partie à extraire) et dis-nous exactement ce que tu veux en sortie...

Déjà ta variable devrait plus ressembler à ça :

i=$(grep "total doc number = " agent_9501.log | tail -1)

0
sdblepas Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
j'avais deja vu cette erreur mais echo $i n'affiche toujours rien
dans mon fichier il y a plein de ligne:
2009.11.22 18:21:35 slice id: 1 OUTPUT>Starting slice
2009.11.22 18:21:36 slice id: 1 OUTPUT>total doc number = 821126
2009.11.22 18:21:36 slice id: 1 OUTPUT>warming engine ...
2009.11.22 18:21:49 slice id: 1 OUTPUT>warmup completed
2009.11.22 18:21:53 slice id: 1 OUTPUT>Building frbrgroup cache. size: 4 MB, time: 3433 ms.
je veux recuperer ce chiffre 821126
Merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

jp@MDK:~/tmpfs ssh$ cat plop
2009.11.22 18:21:35 slice id: 1 OUTPUT>Starting slice
2009.11.22 18:21:36 slice id: 1 OUTPUT>total doc number = 821126
2009.11.22 18:21:36 slice id: 1 OUTPUT>warming engine ...
2009.11.22 18:21:49 slice id: 1 OUTPUT>warmup completed
2009.11.22 18:21:53 slice id: 1 OUTPUT>Building frbrgroup cache. size: 4 MB, time: 3433 ms.

jp@MDK:~/tmpfs ssh$ var=$(sed -n '/total doc number =/{s/.*= //p}' plop)

jp@MDK:~/tmpfs ssh$ echo "$var"
821126

jp@MDK:~/tmpfs ssh$
;-))
0
sdblepas Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup
Mais comme cette ligne apparait plusieur fois je me retrouve avec 821126 821126 821126 821126 dans var, comment je fais pour n'avoir quune iteration dans var?
Merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
jp@MDK:~/tmpfs ssh$ var=$(sed -n '/total doc number =/{s/.*= //p}' plop | uniq)

jp@MDK:~/tmpfs ssh$ echo "$var"
821126

jp@MDK:~/tmpfs ssh$

;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sdblepas Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
MERCI :)
0