J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
bonjour,
débutant aussi en perl je dirais :
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
In article <aa422dac.0504110720.9360e77@posting.google.com>,
romain.daumont@int-evry.fr (MaXX) wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
bonjour,
débutant aussi en perl je dirais :
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
Jogo
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5!
Pour matcher une adresse mac : /[da-f]{2}(:[da-f]{2}){5}/i Ou bien (plus rapide) : /[da-fA-F]{2}(?::[da-fA-F]{2}){5}/
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau.
Attention, cela n'est pas une bonne méthode. Le tableau n'est pas utilisable en l'état, il faudra de toute façon l'analyser ligne par ligne. Donc autant analyser directement le fichier de manière sequentielle afin d'en extraire les données utiles, et les stocker dans une structure plus facilement utilisable par la suite. Quelque chose comme :
open FILE,"<$filename" or die "Impossible d'ouvrir $filename" ; while (<FILE>) { ...extraire les infos ici... } ; close FILE ;
Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Le mieux serait de construire une table de hashage dont les clefs sont le noms d'hôte et les valeurs l'adresse max.
Voilà, ensuite tout dépend de ce que vous êtes venu chercher sur ce forum. Si il s'agit d'avoir un script tout près, tout chaud, autant le dire clairement. Si il s'agit d'apprendre à utiliser Perl, j'espère vous avoir aidé.
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Pour matcher une adresse mac : /[da-f]{2}(:[da-f]{2}){5}/i
Ou bien (plus rapide) : /[da-fA-F]{2}(?::[da-fA-F]{2}){5}/
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Attention, cela n'est pas une bonne méthode. Le tableau n'est pas
utilisable en l'état, il faudra de toute façon l'analyser ligne par ligne.
Donc autant analyser directement le fichier de manière sequentielle afin
d'en extraire les données utiles, et les stocker dans une structure plus
facilement utilisable par la suite. Quelque chose comme :
open FILE,"<$filename" or die "Impossible d'ouvrir $filename" ;
while (<FILE>)
{
...extraire les infos ici...
} ;
close FILE ;
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Le mieux serait de construire une table de hashage dont les clefs sont le
noms d'hôte et les valeurs l'adresse max.
Voilà, ensuite tout dépend de ce que vous êtes venu chercher sur ce forum.
Si il s'agit d'avoir un script tout près, tout chaud, autant le dire
clairement. Si il s'agit d'apprendre à utiliser Perl, j'espère vous avoir
aidé.
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5!
Pour matcher une adresse mac : /[da-f]{2}(:[da-f]{2}){5}/i Ou bien (plus rapide) : /[da-fA-F]{2}(?::[da-fA-F]{2}){5}/
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau.
Attention, cela n'est pas une bonne méthode. Le tableau n'est pas utilisable en l'état, il faudra de toute façon l'analyser ligne par ligne. Donc autant analyser directement le fichier de manière sequentielle afin d'en extraire les données utiles, et les stocker dans une structure plus facilement utilisable par la suite. Quelque chose comme :
open FILE,"<$filename" or die "Impossible d'ouvrir $filename" ; while (<FILE>) { ...extraire les infos ici... } ; close FILE ;
Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Le mieux serait de construire une table de hashage dont les clefs sont le noms d'hôte et les valeurs l'adresse max.
Voilà, ensuite tout dépend de ce que vous êtes venu chercher sur ce forum. Si il s'agit d'avoir un script tout près, tout chaud, autant le dire clairement. Si il s'agit d'apprendre à utiliser Perl, j'espère vous avoir aidé.
Benoit Izac
Bonjour,
le 11/04/2005 à 18:05, kurtz le pirate a écrit dans le message :
[comment extraire une adresse MAC ?]
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
je dirais plutôt :
$macAddr = $1 if m/((?:[[:xdigit:]]{2}:){5}[[:xdigit:]]{2})/
perldoc perlre
-- Benoit Izac
Bonjour,
le 11/04/2005 à 18:05, kurtz le pirate a écrit
dans le message <kurtzlepirate-AEF728.18050811042005@news2-e.proxad.net> :
[comment extraire une adresse MAC ?]
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
je dirais plutôt :
$macAddr = $1 if m/((?:[[:xdigit:]]{2}:){5}[[:xdigit:]]{2})/
le 11/04/2005 à 18:05, kurtz le pirate a écrit dans le message :
[comment extraire une adresse MAC ?]
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
je dirais plutôt :
$macAddr = $1 if m/((?:[[:xdigit:]]{2}:){5}[[:xdigit:]]{2})/
perldoc perlre
-- Benoit Izac
Stephane TOUGARD
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
C'est une facon de faire, mais il y en a d'autres (c'est pas teste, faut sans doute corriger un peu).
Stephane
Si vous avez une idée, ça serait cool!
Merci
-- http://www.sidafr.org http://www.unices.org Les meilleurs modules de Perl http://www.unices.org/photo/ Ma petite galerie a moi que j'ai
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
C'est une facon de faire, mais il y en a d'autres (c'est pas teste, faut sans doute corriger un peu).
Stephane
Si vous avez une idée, ça serait cool!
Merci
-- http://www.sidafr.org http://www.unices.org Les meilleurs modules de Perl http://www.unices.org/photo/ Ma petite galerie a moi que j'ai
DoMinix
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; }
#perl -n00laF'host' -e 'for(grep(/titi/,@F)) {print $1 if m/((ww:){5}ww)/m}' dhcp.leases 00:B0:DD:D7:FF:78
-- dominix
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
#perl -n00laF'host' -e 'for(grep(/titi/,@F))
{print $1 if m/((ww:){5}ww)/m}' dhcp.leases
00:B0:DD:D7:FF:78
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; }
#perl -n00laF'host' -e 'for(grep(/titi/,@F)) {print $1 if m/((ww:){5}ww)/m}' dhcp.leases 00:B0:DD:D7:FF:78
-- dominix
kurtz_le_pirate
"MaXX" a écrit dans le message de news:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je dirais : - caractères hexa : [0-9a-f] - 1 ou 2 : [0-9a-f]{2} - suivi par deux points : [0-9a-f]{2}: - il y en a 5 : ([0-9a-f]{2}:){5} - suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f] - sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
c'est mieux comme ca ?
"MaXX" <romain.daumont@int-evry.fr> a écrit dans le message de
news:aa422dac.0504110720.9360e77@posting.google.com...
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je
dirais :
- caractères hexa : [0-9a-f]
- 1 ou 2 : [0-9a-f]{2}
- suivi par deux points : [0-9a-f]{2}:
- il y en a 5 : ([0-9a-f]{2}:){5}
- suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f]
- sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je dirais : - caractères hexa : [0-9a-f] - 1 ou 2 : [0-9a-f]{2} - suivi par deux points : [0-9a-f]{2}: - il y en a 5 : ([0-9a-f]{2}:){5} - suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f] - sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
c'est mieux comme ca ?
romain.daumont
kurtz le pirate wrote in message news:...
In article , (MaXX) wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
bonjour,
débutant aussi en perl je dirais :
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
Merci pour le regex, j'ai pas encore testé mais il me semble pas mal!
En fait, je n'arrive pas à detecter le champ à extraire avec la bonne info; cad detecter "hardware ethernet" et recuperer le champ hexadecimal qui suit. Sachant biensur que je connais le "host toto" par exemple...?
kurtz le pirate <kurtzlepirate@yahoo.fr> wrote in message news:<kurtzlepirate-AEF728.18050811042005@news2-e.proxad.net>...
In article <aa422dac.0504110720.9360e77@posting.google.com>,
romain.daumont@int-evry.fr (MaXX) wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
bonjour,
débutant aussi en perl je dirais :
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
Merci pour le regex, j'ai pas encore testé mais il me semble pas mal!
En fait, je n'arrive pas à detecter le champ à extraire avec la bonne
info; cad detecter "hardware ethernet" et recuperer le champ
hexadecimal qui suit. Sachant biensur que je connais le "host toto"
par exemple...?
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
bonjour,
débutant aussi en perl je dirais :
$macAddr =~ s/(d+:d+:d+:d+:d+:d+)//
Merci pour le regex, j'ai pas encore testé mais il me semble pas mal!
En fait, je n'arrive pas à detecter le champ à extraire avec la bonne info; cad detecter "hardware ethernet" et recuperer le champ hexadecimal qui suit. Sachant biensur que je connais le "host toto" par exemple...?
DoMinix
kurtz_le_pirate wrote:
"MaXX" a écrit dans le message de news:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je dirais : - caractères hexa : [0-9a-f] - 1 ou 2 : [0-9a-f]{2} - suivi par deux points : [0-9a-f]{2}: - il y en a 5 : ([0-9a-f]{2}:){5} - suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f]
il en faut 2
- sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
c'est mieux comme ca ?
oui, pour moi ca matche bien comme ca : m/(([0-9a-f]{2}:){5}[0-9a-f]{2})/mi ^ avec ces parenthese en plus^ pour alimenter $1 et le /m pour multiligne.
sur ce, bien le bonsoir.
-- dominix
kurtz_le_pirate wrote:
"MaXX" <romain.daumont@int-evry.fr> a écrit dans le message de
news:aa422dac.0504110720.9360e77@posting.google.com...
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je
dirais :
- caractères hexa : [0-9a-f]
- 1 ou 2 : [0-9a-f]{2}
- suivi par deux points : [0-9a-f]{2}:
- il y en a 5 : ([0-9a-f]{2}:){5}
- suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f]
il en faut 2
- sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
c'est mieux comme ca ?
oui,
pour moi ca matche bien comme ca :
m/(([0-9a-f]{2}:){5}[0-9a-f]{2})/mi
^ avec ces parenthese en plus^ pour alimenter $1
et le /m pour multiligne.
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
ops... j'ai prépondu un peu vite sans réflechir. la nuit portant conseil je dirais : - caractères hexa : [0-9a-f] - 1 ou 2 : [0-9a-f]{2} - suivi par deux points : [0-9a-f]{2}: - il y en a 5 : ([0-9a-f]{2}:){5} - suivi par un ou deux caracteres hex : ([0-9a-f]{2}:){5}[0-9a-f]
il en faut 2
- sans tenir compte de ma casse : ([0-9a-f]{2}){5}[0-9a-f]/i
c'est mieux comme ca ?
oui, pour moi ca matche bien comme ca : m/(([0-9a-f]{2}:){5}[0-9a-f]{2})/mi ^ avec ces parenthese en plus^ pour alimenter $1 et le /m pour multiligne.
sur ce, bien le bonsoir.
-- dominix
romain.daumont
Stephane TOUGARD wrote in message news:...
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
C'est une facon de faire, mais il y en a d'autres (c'est pas teste, faut sans doute corriger un peu).
Stephane
Si vous avez une idée, ça serait cool!
Merci
Re,
Je vais tester ton code. Merci pour ton aide
Stephane TOUGARD <stephane@unices.org> wrote in message news:<lujri2-a0d.ln1@gulliver.unices.org>...
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
C'est une facon de faire, mais il y en a d'autres (c'est pas teste, faut sans doute corriger un peu).
Stephane
Si vous avez une idée, ça serait cool!
Merci
Re,
Je vais tester ton code. Merci pour ton aide
romain.daumont
DoMinix wrote in message news:<425b58bf$0$27223$...
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; }
#perl -n00laF'host' -e 'for(grep(/titi/,@F)) {print $1 if m/((ww:){5}ww)/m}' dhcp.leases 00:B0:DD:D7:FF:78
Chanmax! J'avoue c'est vraiment terrible! Par contre, tu peux m'expliquer le "-n00laF'host' -e"?
DoMinix <dominix@despammed.com> wrote in message news:<425b58bf$0$27223$636a15ce@news.free.fr>...
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais
les expressions regulières et moi... ça fait 5!
Bref, mon fichier est composé de la manière suivante :
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un
tableau; chaque ligne du fichier est donc contenu dans une ligne du
tableau.
Je connais, par exemple, le host "titi" et je souhaite recuperer la
mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases
host toto {
hardware ethernet 00:05:5b:22:55:96;
fixed-address 192.168.21.55;
}
host titi {
hardware ethernet 00:B0:DD:D7:FF:78;
fixed-address 192.168.21.56;
}
#perl -n00laF'host' -e 'for(grep(/titi/,@F))
{print $1 if m/((ww:){5}ww)/m}' dhcp.leases
00:B0:DD:D7:FF:78
Chanmax! J'avoue c'est vraiment terrible!
Par contre, tu peux m'expliquer le "-n00laF'host' -e"?
DoMinix wrote in message news:<425b58bf$0$27223$...
MaXX wrote:
Salut,
J'essaie d'extraire une mac adress dans un fichier dhcpd.conf, mais les expressions regulières et moi... ça fait 5! Bref, mon fichier est composé de la manière suivante :
host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; } etc...
Dans ce cas, j'ai parsé le fichier à l'aide d'un "foreach" et d'un tableau; chaque ligne du fichier est donc contenu dans une ligne du tableau. Je connais, par exemple, le host "titi" et je souhaite recuperer la mac adress correspondante dans une variable quelconque...?
Si vous avez une idée, ça serait cool!
Merci
cat dhcp.leases host toto { hardware ethernet 00:05:5b:22:55:96; fixed-address 192.168.21.55; } host titi { hardware ethernet 00:B0:DD:D7:FF:78; fixed-address 192.168.21.56; }
#perl -n00laF'host' -e 'for(grep(/titi/,@F)) {print $1 if m/((ww:){5}ww)/m}' dhcp.leases 00:B0:DD:D7:FF:78
Chanmax! J'avoue c'est vraiment terrible! Par contre, tu peux m'expliquer le "-n00laF'host' -e"?