[sh] script pour debutant

Résolu
sdblepas Messages postés 37 Statut Membre -  
sdblepas Messages postés 37 Statut Membre -
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
Configuration: Windows XP
Safari 532.5

5 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  2. sdblepas Messages postés 37 Statut Membre
     
    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
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  4. sdblepas Messages postés 37 Statut Membre
     
    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
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sdblepas Messages postés 37 Statut Membre
     
    MERCI :)
    0