Extraction de chaine de caractè'"

Bonjour,

Je bosse sur un script en shell....à un moment je suis censé, à partir d'un fichier /etc/hosts, extraire une IP virtuelle.

Le fichier /etc/hosts est de la forme suivante:

127.0.0.1 localhost

XXX.XXX.XXX.XX hostname1 # Server 1
YYY.YYY.YYY.YY hostname2 # Server 2
ZZZ.ZZZ.ZZZ.ZZ hostnameVIP # Virtual IP

En gros ce que je veux est parcourir le fichier ligne par ligne et lorsque le mot-clé "Virtual" est détecté me ressortir uniquement l'IP

Je suppose que c'est pas compliqué mais je connais quasiment rien en shell...je suis parti d'un script à modifier, jusque là ça allait mais là je bloque :-(

Merci pour votre aide.

Bonne soirée
@+
Configuration: Red Hat ES Update 4

3 réponses

  1. Merci à vous ;-)

    Je vais essayer ça
    0
    1. Modérateur
      Salut,
      grep Virtual /etc/hosts | grep -o '[0-9.]*'
      awk '/Virtual/ { print $1 }' /etc/hosts
      sed -n '/Virtual/ s/\([^ ]*\).*/\1/p' /etc/hosts
      ;-))
      0
      1. Modérateur
        Salut,
        lami20j@debserv:~/trash$ cat aa
        
        127.0.0.1 localhost
        
        192.168.0.1 hostname1 # Server 1
        192.168.10.100 hostname2 # Server 2
        192.168.1.100 hostnameVIP # Virtual IP
        lami20j@debserv:~/trash$ cat aa | sed -n '/Virtual/p' | sed -r 's/^(.*[0-9]) (.*)$/\1/'
        192.168.1.100
        --

        lami20j
        0