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

Résolu
x86master Messages postés 22 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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. x86master Messages postés 22 Statut Membre
       
      Merci, mais dans le as où l'@Mac ne commence pas par 00 ?
      0
    2. x86master Messages postés 22 Statut Membre
       
      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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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. x86master Messages postés 22 Statut Membre
       
      Expression régulière j'aurais dû m'en douter :P

      Merchi !!
      0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Pour éviter le "sed" :
     egrep -o '([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}'
    ;-))
    0
    1. x86master Messages postés 22 Statut Membre
       
      Je vous aime les gens <3 :-)
      0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    pour eviter "grep" ;-))
    sed -r 's/.* ([0-9].+); .*/\1/g' mac.txt
    --
    106485010510997108
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Pas mieux ;-))
      0