Commande grep recuperer netmask

Résolu
Bonjour,

je cherche a recuperer la valeur du netmask dans /etc/network/interfaces.

Lorsque je fait cat /etc/network/interfaces | grep network , j'obtiens : network 255.0.0.0 or je veut juste recuperer le 255.0.0.0.Savez vous comment recuper le mot suivant avec grep et faire un test avec les expression regulières pour savoir si mon netmask est au bon format?

merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Merci tlep pour la 2eme commande, ca marche!!!

    Merci a tous pour m'avoir consacrer un peu temps.

    A bientot
    1. merci pour vos reponses et pour la rapidité.

      Le probleme c'est que je veux recuper la valeur qui est derriere le netmask qui n'est pas forcement 255.0.0.0 donc je ne peut pas me servir de l'adresse dans la commande shell.

      Pour tlep, la commande ne marche pas.

      Une autre idée?
      1. Modérateur
        grep -i "netmask" /etc/network/interfaces | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}"
        ;-)
      2. @jipicyAh oui en effet: nettement plus élégant
        ;-)
      3. Modérateur
        J'ai z'oublié de remercier "asevere" pour son astuce dans la FAQ.

        Donc merci Adrien ;-))
    2. Modérateur
      (pour grep -o), j'oublie toujours ;-))

      Moi aussi :-D, je fait comme ça
       man grep | grep only-match

      En revanche, attention il demande
      j'obtiens : network 255.0.0.0 or je veut juste recuperer le 255.0.0.0
      1. Modérateur
        En revanche, attention il demande
        j'obtiens : network 255.0.0.0 or je veut juste recuperer le 255.0.0.0


        Oui, et il ajoute, je cite "et faire un test avec les expression regulières pour savoir si mon netmask est au bon format? "

        ;-))
    3. Modérateur
      Salut,
      #! /bin/bash
      
      grep -o 255.255.255.0 /etc/network/interfaces | egrep "(255\.){1}(0\.){2}0"
      retval="$?"
      if [ "$retval" = "0" ]
      then echo "Netmask OK"
      else echo "Netmask erroné ! "
      fi
      ;-)

      PS. Merci lami20j (pour grep -o), j'oublie toujours ;-))
      1. cat /etc/network/interfaces|grep netmask|tr -d [:alpha:]|tr -d "\t"|tr -d " "
        1. ou:

          cat /etc/network/interfaces |grep netmask| sed -r 's/\t*netmask (.*)/\1/g'
      2. Modérateur
        Salut,

        grep -o 255.0.0.0 /etc/network/interfaces
        --
        lami20j