Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

regex et sed

2 réponses
Avatar
Eric Belhomme
Bonsoir,

je voudrais mettre en forme des donn=E9es issues d'un transfert de zone.
le fichier =E0 traiter ressemble donc =E0 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
=2E..

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

([a-zA-Z0-9\.\-]+).+IN\sA\s([\d\.]+)

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

ma commande sed devrait donc ressembler =E0 =E7a :

$ host -t axfr mynet | sed -e \
's/\([a-zA-Z0-9\.\-]+\).+IN\sA\s\([\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=E9e de la cause du probl=E8me ?

--=20
Rico

2 réponses

Avatar
Nicolas George
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 />
Avatar
Benoit Izac
Bonjour,

le 16/06/2008 à 19:59, Nicolas George a écrit dans le message
<4856a9eb$0$17397$ :

([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.
<http://www.opengroup.org/onlinepubs/009695399/utilities/sed.html#tag_04_126_13_02>
<http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_03>

--
Benoit Izac