Modification sur une chaine de caractères

Benoit -  
 Benoit -
Bonjour,

Je cherche à modifier une ligne pour avoir que la dernière valeur.

Le problème c'est que j'ai des caractère spéciaux et surtout une valeur qui change dedans .

Voici l’exemple :

192.168.1.1 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338

Je cherche à avoir que le 108338 mais le problème c'est que le CALLs:35131887 change régulièrement de valeur.

Avez vous une idée pour avec sed par exemple pouvoir dire que depuis "192.168.1.1" et "NOCALLs" , tu effaces.

Merci beaucoup.

1 réponse

  1. UnGnU Messages postés 1468 Statut Contributeur 158
     
    Salut,

    $ cat fich
    192.168.1.2 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338
    192.168.1.1 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338
    192.168.1.3 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338


    $ sed '/192.168.1.1.*NOCALLs/{s/\(.*:\).*/\1/}' fich
    192.168.1.2 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338
    192.168.1.1 "show interface serial 1/0" CALLs:35131887 NOCALLs:
    192.168.1.3 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338


    ;-))
    0
    1. Benoit
       
      Salut,

      Merci pour ta réponse, la commande me retourne cela :

      # sed '/192.168.1.1.*NOCALLs/{s/\(.*:\).*/\1/}' fich
      192.168.1.2 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338
      192.168.1.1 "show interface serial 1/0" CALLs:35131887 NOCALLs:
      192.168.1.3 "show interface serial 1/0" CALLs:35131887 NOCALLs:108338


      J'aimerais avoir que le 108338
      0
    2. Benoit
       
      C'est bon j'ai réussi grâce à toi, c'est bien le .* dans sed que je cherchais ! Merci beaucoup !
      0
    3. Benoit
       
      sed 's/192.168.1.1.*NOCALLs://g' fich
      0