Récupérer une partie du contenu d'un fichier

Résolu
Bonjour tout le monde,

J'ai ceci :

                hardware ethernet 00:30:48:83:EC:50; #1
                hardware ethernet 00:30:48:83:EC:51; #2
                hardware ethernet 00:30:48:83:EC:52; #3
                hardware ethernet 00:30:48:83:EC:53; #4


Et je souhaiterai afficher uniquement les 4 adresses MAC en sortie, comment puis-je faire ? (notez qu'il y a 2 tabulations devant)

Merci
Configuration: Ubuntu 7.10

4 réponses

  1. Modérateur
    Salut,
    root@debian:~# cat mac.txt
                    hardware ethernet 00:30:48:83:EC:50; #1
                    hardware ethernet 00:30:48:83:EC:51; #2
                    hardware ethernet 00:30:48:83:EC:52; #3
                    hardware ethernet 00:30:48:83:EC:53; #4
    root@debian:~# grep -o '00.*;' mac.txt | sed 's/;//'
    00:30:48:83:EC:50
    00:30:48:83:EC:51
    00:30:48:83:EC:52
    00:30:48:83:EC:53
    
    0
    1. Merci, mais dans le as où l'@Mac ne commence pas par 00 ?
      0
    2. Merci mais dans le cas où l'@MAC ne commence pas par 00, je fais comment ? (désolé j'ai buggé j'ai posté 2 fois)
      0
  2. Modérateur
    comme ça
    root@debian:~# cat mac.txt
                    hardware ethernet 00:30:48:83:EC:50; #1
                    hardware ethernet 00:30:48:83:EC:51; #2
                    hardware ethernet 00:30:48:83:EC:52; #3
                    hardware ethernet 00:30:48:83:EC:53; #4i
    root@debian:~# grep -o '[0-9a-fA-F][0-9a-fA-F].*;' mac.txt | sed 's/;//'
    00:30:48:83:EC:50
    00:30:48:83:EC:51
    00:30:48:83:EC:52
    00:30:48:83:EC:53
    
    0
    1. Expression régulière j'aurais dû m'en douter :P

      Merchi !!
      0
  3. Modérateur
    Salut,

    Pour éviter le "sed" :
     egrep -o '([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}'
    ;-))
    0
    1. Je vous aime les gens <3 :-)
      0
  4. Modérateur
    Re,

    pour eviter "grep" ;-))
    sed -r 's/.* ([0-9].+); .*/\1/g' mac.txt
    --
    106485010510997108
    0
    1. Modérateur
      Pas mieux ;-))
      0