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. 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
    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. Merci à vous ;-)

        Je vais essayer ça
        0