Récupérer une partie du contenu d'un fichier [Résolu/Fermé]

Signaler
Messages postés
22
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
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

4 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 536
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
Messages postés
22
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Merci, mais dans le as où l'@Mac ne commence pas par 00 ?
Messages postés
22
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

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)
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 536
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
Messages postés
22
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Expression régulière j'aurais dû m'en douter :P

Merchi !!
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 857
Salut,

Pour éviter le "sed" :
 egrep -o '([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}'
;-))
Messages postés
22
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
30 mai 2008

Je vous aime les gens <3 :-)
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 536
Re,

pour eviter "grep" ;-))
sed -r 's/.* ([0-9].+); .*/\1/g' mac.txt
--
106485010510997108
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 857
Pas mieux ;-))