regex et sed

Le
Eric Belhomme
Bonsoir,

je voudrais mettre en forme des données issues d'un transfert de zone.
le fichier à traiter ressemble donc à ceci :

$ host -t axfr mynet
Trying "mynet"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38419
;; flags: qr aa ra; QUERY: 1, ANSWER: 238, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mynet. IN AXFR

;; ANSWER SECTION:
mynet. 86400 IN SOA compaq.mynet. hostmaster.mynet. 2005012556 86400
43200 3600000 86400
mynet. 86400 IN NS ns1.mynet.
mynet. 86400 IN NS ns2.mynet.
2716-0.mynet. 86400 IN A 192.168.1.252
2724-0.mynet. 86400 IN A 192.168.1.251
2724-1.mynet. 86400 IN A 192.168.1.249
2724-2.mynet. 86400 IN A 192.168.1.248


Le but de la manoeuvre est de faire un tableau avec hostname et adresse
IP. Je comptais donc faire cela facilement à grands coups de sed à
partir de la regex suivante :

([a-zA-Z0-9.-]+).+INsAs([d.]+)

Cette regex est censée isoler le hostname et l'adresse IP de tous les
enregistrements de type A de ma zone, et j'ai vérifié qu'elle
fonctionnait avec l'outil "Visual Regexp 3.0"

ma commande sed devrait donc ressembler à ça :

$ host -t axfr mynet | sed -e
's/([a-zA-Z0-9.-]+).+INsAs([d.]+)/1;2/'

Sauf que ca matche pas ! J'ai eu beau triturer ma regex dans tous les
sens, rien n'y a fait !

Une idée de la cause du problème ?

--
Rico
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #7020781
Eric Belhomme wrote in message &lt;g3629v$d55$&gt;:<br />
<blockquote class="block0"><br />
([a-zA-Z0-9.-]+).+INsAs([d.]+)<br />
<br />
</blockquote><br />
Je crois bien que + n'est pas un caract&egrave;re actif pour sed.<br />
<br />
Benoit Izac
Le #7028831
Bonjour,

le 16/06/2008 à 19:59, Nicolas George a écrit dans le message

([a-zA-Z0-9.-]+).+INsAs([d.]+)



Je crois bien que + n'est pas un caractère actif pour sed.



Tout comme s ou d qui sont pour Perl.

--
Benoit Izac
Publicité
Poster une réponse
Anonyme