Re: Expression régulière
Bonjour, Merci. Effectivement, je suppose que c'est là pour détecter une absence de valeur, en tout cas une valeur non exploitable (des espaces, des retours chariots, etc.) -- Migrec Le 02/07/2019 à 12:11, Daniel Caillibaud a écrit : Le 01/07/19 à 21h49, Migrec a écrit : Mais j'ai encore du mal à comprendre ce que l'expression cible. Elle est très large, car elle cible toute chaîne contenant un caractère "non espace" précédée d'autant de caractères qu'on veut (0 inclus) suivie d'autant de caractères qu'on veut (idem). Donc en fait la seule chose qu'elle ne match pas est une chaine ne contenant aucun caractère "non espace" (ou tabulation ou …), soit une chaîne vide ou ne contenant que des espaces|tabulations. (.|\n)*[^\s](.|\n)* ^^ n'importe quel caractère (fin de ligne compris) ^ en 0 à N exemplaires ^ un caractère non espace ^^ n'importe quel caractère (fin de ligne compris) ^ en 0 à N exemplaires Je vois pas trop dans quel cas ça peut être utile, mais je connais pas le contexte.
Re: Expression régulière
On Monday, 1 July 2019 21:49:26 CEST Migrec wrote: > Il devrait y avoir une valeur qui est absente et que le script détecte. Je dois avouer que je ne comprends toujours pas le problème à résoudre. Tu peux donner un exemple d'XML "qui va" et un "qui ne va pas" ? Dod
Re: Expression régulière
Le 01/07/19 à 21h49, Migrec a écrit : > Mais j'ai encore du mal à comprendre ce que l'expression cible. Elle est très large, car elle cible toute chaîne contenant un caractère "non espace" précédée d'autant de caractères qu'on veut (0 inclus) suivie d'autant de caractères qu'on veut (idem). Donc en fait la seule chose qu'elle ne match pas est une chaine ne contenant aucun caractère "non espace" (ou tabulation ou …), soit une chaîne vide ou ne contenant que des espaces|tabulations. (.|\n)*[^\s](.|\n)* ^^ n'importe quel caractère (fin de ligne compris) ^ en 0 à N exemplaires ^ un caractère non espace ^^ n'importe quel caractère (fin de ligne compris) ^ en 0 à N exemplaires Je vois pas trop dans quel cas ça peut être utile, mais je connais pas le contexte. -- Daniel On réalise qu'une femme est de la dynamite quand on la laisse tomber. Marcel Pagnol.
Re: Expression régulière
Bonjour, Merci ! Site très utile. Mais j'ai encore du mal à comprendre ce que l'expression cible. Visiblement, la chose suivante est ciblée (ou non ciblée) Il devrait y avoir une valeur qui est absente et que le script détecte. Cordialement, -- Migrec Le 01/07/2019 à 17:00, Guillaume Clercin a écrit : Bonjour, On Mon, 1 Jul 2019 16:11:01 +0200 Migrec wrote: Bonjour, Je dois trouver ce qui ne colle pas dans un fichier XML. Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)* Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en question est encadrée par des balises XML Une piste ? Pour tester des regex, je vais sur regex101.com, je trouve ce site pratique. On a même un débogueur de regex. -- Migrec Cordialement,
Re: Expression régulière
Bonjour, On Mon, 1 Jul 2019 16:11:01 +0200 Migrec wrote: > Bonjour, > > Je dois trouver ce qui ne colle pas dans un fichier XML. > Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)* > > Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en > question est encadrée par des balises XML > Une piste ? Pour tester des regex, je vais sur regex101.com, je trouve ce site pratique. On a même un débogueur de regex. > -- > Migrec > Cordialement, -- Guillaume Clercin pgpFljKFzgitR.pgp Description: Signature digitale OpenPGP
Re: Expression régulière
Bonjour, l'option -F de grep permet de ne pas interpréter les expressions régulières (fixed strings). grep -F '(.|\n)*[^\s](.|\n)*' fichier.xml => afficher l'ensemble de la ligne où est présente l'expression grep -nF '(.|\n)*[^\s](.|\n)*' fichier.xml => afficher le numéro de la ligne où se trouve l'expression Le 01/07/2019 à 16:11, Migrec a écrit : > Bonjour, > > Je dois trouver ce qui ne colle pas dans un fichier XML. > Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)* > > Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en > question est encadrée par des balises XML > Une piste ? > -- > Migrec >
Expression régulière
Bonjour, Je dois trouver ce qui ne colle pas dans un fichier XML. Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)* Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en question est encadrée par des balises XML Une piste ? -- Migrec
Re: [HS] HTML, javascript, expression régulière ?
> AUjourd'hui j'ai re-tester le premier qui a marché mais maintenant j'ai les > même e-mailS qui sorte, bon je passer pour un spammer ... > La je veux récupérer les adresseS de site web donc je tape : > $ find . -type f -print | xargs egrep -o > '0www.[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}' >www-__.txt > Et j'ai les erreurS : > grep: le fichier d'entrée « ./www-___.txt » est aussi en sortie > xargs: guillemets simple non appairés ; par défaut les guillemets sont > particuliers à xargs à moins d'utiliser l'option -0 > grep: ./www._.com/pics/contents/webzine/c+: No such file or directory > grep: horreur.jpg: No such file or directory > grep: ./www.__.com/pics/contents/webzine/campagne: No such file or > directory > grep: mars.jpg: No such file or directory > grep: ./www.__.com/pics/contents/webzine/campagne: No such file or > directory > grep: ▒co: No such file or directory > grep: emballages.jpg: No such file or directory > > [...] > Mais j'ai plus rien dans le fichier ... > On n'est pas vendredi, mais je suis obliger de faire fonctionner mes doigts, > sinon je vais attraper une entorse falangique ;-) > > Y a une gréve dans la presse les numéro de https://www.closermag.fr/ ; > www.voici.fr/ ; https://www.public.fr/ ; people.com/ ; www.purepeople.com/ ; > www.gala.fr/ , etc ... > > non pas été imprimer ? Y a un beug majeure dans le logiciel libre qui fait > que les serveurs ne servent plus la bonne soupe ? > > Ptilou > Tente ça : egrep -R 'www\.[a-zA-Z0-9._\-]+\.[[:alpha:]]{2,4}' . Christian
Re: [HS] HTML, javascript, expression régulière ?
Bonjour, Le jeudi 2 novembre 2017 13:30:03 UTC+1, Christian Quentin a écrit : > Le 02.11.2017 07:59, ptilou a écrit : > > > Bonjour, > > Le mercredi 25 octobre 2017 13:10:02 UTC+2, Christian Quentin a écrit : > Le 25.10.2017 10:53, ptilou a écrit : > > > Bonjour, > > Le lundi 23 octobre 2017 12:00:02 UTC+2, Thomas Savary a écrit : > Enfin une question à laquelle je peux essayer de répondre :-) > > Je suis nul en informatique, mais j'ai une relative maîtrise des > expressions > rationnelles. > Dans ton expression, tu as oublié de protéger le point et le trait d'union. > Par ailleurs, on peut faire plus simple en utilsant \w. > > Essaie : > [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} > > Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas > dans > sed. Le plus « drôle », c'est que cela dépend aussi du shell utilisé. > > > Marche pas ! > > $ find . -type f -print | xargs egrep -o > '[\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4}' > xargs: guillemets simple non appairés ; par défaut les guillemets sont > particuliers à xargs à moins d'utiliser l'option -0 > grep: ./www._.com/pics/contents/webzine/communique: No such file or > directory > grep: paris: No such file or directory > grep: design: No such file or directory > grep: week.pdf: No such file or directory > grep: ./www._.com/pics/contents/webzine/vs: No such file or directory > grep: a: No such file or directory > grep: glass: No such file or directory > grep: house.jpg: No such file or directory > grep: ./www._.com/pics/webzine/29: No such file or directory > grep: citations: No such file or directory > grep: pour: No such file or directory > > Je n'ai même plus les adresses du webmestre ! > J'ai pas comprie le truc des obliques, moi il faut me donner la bécquée > comme un oisillion mais en code source, je ne suis pas capable de réfléchire > > Il faut ce mettre à python, Lxml et BeautifulSoup ? > > Je cherche un truc plus simple, sous windows quand je lance une recherche > il me sort 300 pages avec dans le nom, il y a l'arobase dans le noms, en plus > une dizaines d'exécutables en DOS, je crois que c'est dans ces fichiers si > j'ai télécharger les adresses ? > Je suis le seul à faire du scraping ? > > Ptilou > > > > Les raccourcis pour les caractères alphanumériques varient selon le contexte > dans lequel les regexp sont utilisées, essaie ça en ligne de commande : > > egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' > > > çà ne marche pas ! j'ai essayé man c la : > http://manpagesfr.free.fr/man/man1/Index.1.html > > j'ai besoin d'aide pour mettre tous çà en corollaire ... > Y a des rhume de binaire en ce moment c'est une épidémie ! > > Ptilou > > > > > > > > Curieux... J'ai essayé ça sous bash et ça donne bien le résultat attendu : > egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' > > egrep -R '[[:alnum:]._\-]+@([[:alnum:]]+\.)+[[:alpha:]]{2,}' est un peu plus > complète et repère les emails du type to...@qqpart.co.uk (avec un domaine > composé de 2 parties ou plus) > > Tu lances bien la commande dans un terminal pour faire tes tests ? > OUI ! AUjourd'hui j'ai re-tester le premier qui a marché mais maintenant j'ai les même e-mailS qui sorte, bon je passer pour un spammer ... La je veux récupérer les adresseS de site web donc je tape : $ find . -type f -print | xargs egrep -o '0www.[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}' >www-__.txt Et j'ai les erreurS : grep: le fichier d'entrée « ./www-___.txt » est aussi en sortie xargs: guillemets simple non appairés ; par défaut les guillemets sont particuliers à xargs à moins d'utiliser l'option -0 grep: ./www._.com/pics/contents/webzine/c+: No such file or directory grep: horreur.jpg: No such file or directory grep: ./www.__.com/pics/contents/webzine/campagne: No such file or directory grep: mars.jpg: No such file or directory grep: ./www.__.com/pics/contents/webzine/campagne: No such file or directory grep: ▒co: No such file or directory grep: emballages.jpg: No such file or directory [...] Mais j'ai plus rien dans le fichier ... On n'est pas vendredi, mais je suis obliger de faire fonctionner mes doigts, sinon je vais attraper une entorse falangique ;-) Y a une gréve dans la presse les numéro de https://www.closermag.fr/ ; www.voici.fr/ ; https://www.public.fr/ ; people.com/ ; www.purepeople.com/ ; www.gala.fr/ , etc ... non pas été imprimer ? Y a un beug majeure dans le logiciel libre qui fait que les serveurs ne servent plus la bonne soupe ? Ptilou
Re: [HS] HTML, javascript, expression régulière ?
Le 02.11.2017 07:59, ptilou a écrit : > Bonjour, > > Le mercredi 25 octobre 2017 13:10:02 UTC+2, Christian Quentin a écrit : > >> Le 25.10.2017 10:53, ptilou a écrit : >> >> Bonjour, >> >> Le lundi 23 octobre 2017 12:00:02 UTC+2, Thomas Savary a écrit : >> Enfin une question à laquelle je peux essayer de répondre :-) >> >> Je suis nul en informatique, mais j'ai une relative maîtrise des expressions >> rationnelles. >> Dans ton expression, tu as oublié de protéger le point et le trait d'union. >> Par ailleurs, on peut faire plus simple en utilsant \w. >> >> Essaie : >> [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} >> >> Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas >> dans >> sed. Le plus « drôle », c'est que cela dépend aussi du shell utilisé. >> >> Marche pas ! >> >> $ find . -type f -print | xargs egrep -o >> '[\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4}' >> xargs: guillemets simple non appairés ; par défaut les guillemets sont >> particuliers à xargs à moins d'utiliser l'option -0 >> grep: ./www._.com/pics/contents/webzine/communique [1]: No such file or >> directory >> grep: paris: No such file or directory >> grep: design: No such file or directory >> grep: week.pdf: No such file or directory >> grep: ./www._.com/pics/contents/webzine/vs [2]: No such file or directory >> grep: a: No such file or directory >> grep: glass: No such file or directory >> grep: house.jpg: No such file or directory >> grep: ./www._.com/pics/webzine/29 [3]: No such file or directory >> grep: citations: No such file or directory >> grep: pour: No such file or directory >> >> Je n'ai même plus les adresses du webmestre ! >> J'ai pas comprie le truc des obliques, moi il faut me donner la bécquée >> comme un oisillion mais en code source, je ne suis pas capable de réfléchire >> >> Il faut ce mettre à python, Lxml et BeautifulSoup ? >> >> Je cherche un truc plus simple, sous windows quand je lance une recherche il >> me sort 300 pages avec dans le nom, il y a l'arobase dans le noms, en plus >> une dizaines d'exécutables en DOS, je crois que c'est dans ces fichiers si >> j'ai télécharger les adresses ? >> Je suis le seul à faire du scraping ? >> >> Ptilou >> >> Les raccourcis pour les caractères alphanumériques varient selon le contexte >> dans lequel les regexp sont utilisées, essaie ça en ligne de commande : >> >> egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' > > çà ne marche pas ! j'ai essayé man c la : > http://manpagesfr.free.fr/man/man1/Index.1.html > > j'ai besoin d'aide pour mettre tous çà en corollaire ... > Y a des rhume de binaire en ce moment c'est une épidémie ! > > Ptilou > Curieux... J'ai essayé ça sous bash et ça donne bien le résultat attendu : egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' egrep -R '[[:alnum:]._\-]+@([[:alnum:]]+\.)+[[:alpha:]]{2,}' est un peu plus complète et repère les emails du type t...@qqpart.co.uk (avec un domaine composé de 2 parties ou plus) Tu lances bien la commande dans un terminal pour faire tes tests ? Christian Links: -- [1] http://www._.com/pics/contents/webzine/communique [2] http://www._.com/pics/contents/webzine/vs [3] http://www._.com/pics/webzine/29
Re: [HS] HTML, javascript, expression régulière ?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Bonjour Pilou il existe des sites web qui peuvent faire ça, de façon interactive. mais il existe aussi des paquets qui font ça de façon interactive, par exemple: txt2regex - A Regular Expression "wizard", all written with bash2 builtins visual-regexp - Interactively debug regular expressions et sûrement plein d'autres -BEGIN PGP SIGNATURE- iQIzBAEBCgAdFiEEJO//ePEJChGbGaZQrjHmR0GD/5kFAln62VoACgkQrjHmR0GD /5nyIw/+Pd8FWlXScxJQdGprfKsYGzN37eup7OWzu4vKErADquGnn1TeRtZPJk7U dQqUvUll2uUwvTXDWNpf9ZQCEEAbPc6d9MWoqtjrIXaDjSHattlE/yEJ/NBMDIa8 AiFIn5rzdC0M+6/rVSdCLs3618HzTfi8RYvEe0wJcg8O547NTwl4UAizsnaZoDAq D2A751DHEjREIygtjwwiAouZPywiI8jIiOnu8r1Z36CBnSBB4zqHsdX7D9jBbImM OEvjQRbIQ80tDircP+VwWAFRdgZk0NzAcLQzODW7hs+LQndpcoYWW4lyyVFpv5g6 P9lQs0ZI9lSUkU25ST5QfjR+i3szeRJOQv5BVf+mSDJqx8OWnESUctwIHSW7hwME tSUT5DvmXGYAa0Jjss0TrC50mjgenKP2oZw/hOcRs0kP0PhmJ8RCoDvdL0eVPM1v cM3ytXZREVjOxtT/XvaQiurMmM2HafdqzmyKqEorLLMneO0o0zB8RdGpryYnPcYs 34w5riOA0m7rfLd34q6fGRmSm7SXpmvPfXLHnbOpAdaS3gNgWzH7C1P+BMzz69uZ v6ABjERdvz5DZBrwLQIHMiT2RnFSrg3wtL6hyUlftl8Yx/Tt8zl0LpdIGsLugShD zYeSM2ZP8Soi5d3Ygm4QVsrOFAC2qexlYi5/sT1Si3/SafDGJts= =Whwf -END PGP SIGNATURE-
Re: [HS] HTML, javascript, expression régulière ?
Bonjour, Le mercredi 25 octobre 2017 13:10:02 UTC+2, Christian Quentin a écrit : > Le 25.10.2017 10:53, ptilou a écrit : > > > Bonjour, > > Le lundi 23 octobre 2017 12:00:02 UTC+2, Thomas Savary a écrit : > Enfin une question à laquelle je peux essayer de répondre :-) > > Je suis nul en informatique, mais j'ai une relative maîtrise des expressions > rationnelles. > Dans ton expression, tu as oublié de protéger le point et le trait d'union. > Par ailleurs, on peut faire plus simple en utilsant \w. > > Essaie : > [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} > > Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas > dans > sed. Le plus « drôle », c'est que cela dépend aussi du shell utilisé. > > > Marche pas ! > > $ find . -type f -print | xargs egrep -o > '[\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4}' > xargs: guillemets simple non appairés ; par défaut les guillemets sont > particuliers à xargs à moins d'utiliser l'option -0 > grep: ./www._.com/pics/contents/webzine/communique: No such file or > directory > grep: paris: No such file or directory > grep: design: No such file or directory > grep: week.pdf: No such file or directory > grep: ./www._.com/pics/contents/webzine/vs: No such file or directory > grep: a: No such file or directory > grep: glass: No such file or directory > grep: house.jpg: No such file or directory > grep: ./www._.com/pics/webzine/29: No such file or directory > grep: citations: No such file or directory > grep: pour: No such file or directory > > Je n'ai même plus les adresses du webmestre ! > J'ai pas comprie le truc des obliques, moi il faut me donner la bécquée > comme un oisillion mais en code source, je ne suis pas capable de réfléchire > > Il faut ce mettre à python, Lxml et BeautifulSoup ? > > Je cherche un truc plus simple, sous windows quand je lance une recherche il > me sort 300 pages avec dans le nom, il y a l'arobase dans le noms, en plus > une dizaines d'exécutables en DOS, je crois que c'est dans ces fichiers si > j'ai télécharger les adresses ? > Je suis le seul à faire du scraping ? > > Ptilou > > > > Les raccourcis pour les caractères alphanumériques varient selon le contexte > dans lequel les regexp sont utilisées, essaie ça en ligne de commande : > > egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' > çà ne marche pas ! j'ai essayé man c la : http://manpagesfr.free.fr/man/man1/Index.1.html j'ai besoin d'aide pour mettre tous çà en corollaire ... Y a des rhume de binaire en ce moment c'est une épidémie ! Ptilou
Re: [HS] HTML, javascript, expression régulière ?
Bonjour ! Comme c'est "[HS]", je me permets un "hors sujet" que j'aime quand il est question de HTML et RegExp : https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags ;-) Randy11 On 23/10/2017 10:19, ptilou wrote: Bonjour la liste, J'ai besoin de récupérer des adresses mail, j'utilise wget -m http://mon_site_que_j'aime.fr Je me retrouve avec 5 go de donnée, quand j'ouvre les pages à la mano sous LibreOffice, çà revoie à un javascript:void(0); comme balise pour l'adresse mail. J'ai donc en ligne de commande taper $ find . -type f -print | xargs egrep -o '[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}' Voila les erreurs qui apparaissent : [...] grep: paris: No such file or directory grep: design: No such file or directory grep: week.pdf: No such file or directory grep: ./www..com/pics/contents/webzine/vs: No such file or directory grep: a: No such file or directory grep: glass: No such file or directory [...] Je ne récupère que les adresses du Webmestre, donc comment récupérer l'annuaire complet ? ( çà a mouliner toute la nuit et j'ai fait un Control C pour arrêter ce matin ) Donc je sais pas si je n'ai pas télécharger les adresses, ou si c'est l'expression régulière qui est erroné ? Merci de m’orienter vers un forum plus approprié si vous n'aviez pas la solution ! Ptilou
Re: [HS] HTML, javascript, expression régulière ?
On Monday, 23 October 2017 01:19:46 CEST ptilou wrote: > Voila les erreurs qui apparaissent : > [...] > grep: paris: No such file or directory > grep: design: No such file or directory > grep: week.pdf: No such file or directory > grep: ./www..com/pics/contents/webzine/vs: No such file or directory > grep: a: No such file or directory > grep: glass: No such file or directory Semblerait que certain fichiers contiennent des espaces dans leur nom. cf option -print0 pour find et -0 (aka --null) pour xargs e.g find . -name xx -print0 | xargs --null grep etc... HTH -- https://github.com/dod38fr/ -o- http://search.cpan.org/~ddumont/ http://ddumont.wordpress.com/ -o- irc: dod at irc.debian.org
Re: [HS] HTML, javascript, expression régulière ?
Le 25.10.2017 10:53, ptilou a écrit : > Bonjour, > > Le lundi 23 octobre 2017 12:00:02 UTC+2, Thomas Savary a écrit : > >> Enfin une question à laquelle je peux essayer de répondre :-) >> >> Je suis nul en informatique, mais j'ai une relative maîtrise des expressions >> rationnelles. >> Dans ton expression, tu as oublié de protéger le point et le trait d'union. >> Par ailleurs, on peut faire plus simple en utilsant \w. >> >> Essaie : >> [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} >> >> Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas >> dans >> sed. Le plus « drôle », c'est que cela dépend aussi du shell utilisé. > > Marche pas ! > > $ find . -type f -print | xargs egrep -o > '[\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4}' > xargs: guillemets simple non appairés ; par défaut les guillemets sont > particuliers à xargs à moins d'utiliser l'option -0 > grep: ./www._.com/pics/contents/webzine/communique [1]: No such file or > directory > grep: paris: No such file or directory > grep: design: No such file or directory > grep: week.pdf: No such file or directory > grep: ./www._.com/pics/contents/webzine/vs [2]: No such file or directory > grep: a: No such file or directory > grep: glass: No such file or directory > grep: house.jpg: No such file or directory > grep: ./www._.com/pics/webzine/29 [3]: No such file or directory > grep: citations: No such file or directory > grep: pour: No such file or directory > > Je n'ai même plus les adresses du webmestre ! > J'ai pas comprie le truc des obliques, moi il faut me donner la bécquée comme > un oisillion mais en code source, je ne suis pas capable de réfléchire > Il faut ce mettre à python, Lxml et BeautifulSoup ? > > Je cherche un truc plus simple, sous windows quand je lance une recherche il > me sort 300 pages avec dans le nom, il y a l'arobase dans le noms, en plus > une dizaines d'exécutables en DOS, je crois que c'est dans ces fichiers si > j'ai télécharger les adresses ? > Je suis le seul à faire du scraping ? > > Ptilou Les raccourcis pour les caractères alphanumériques varient selon le contexte dans lequel les regexp sont utilisées, essaie ça en ligne de commande : egrep -R '[[:alnum:].\-]+@[[:alnum:]]+\.[[:alpha:]]{2,}' Christian Links: -- [1] http://www._.com/pics/contents/webzine/communique [2] http://www._.com/pics/contents/webzine/vs [3] http://www._.com/pics/webzine/29
Re: [HS] HTML, javascript, expression régulière ?
Bonjour, Le lundi 23 octobre 2017 12:00:02 UTC+2, Thomas Savary a écrit : > Enfin une question à laquelle je peux essayer de répondre :-) > > Je suis nul en informatique, mais j’ai une relative maîtrise des expressions > rationnelles. > Dans ton expression, tu as oublié de protéger le point et le trait d’union. > Par ailleurs, on peut faire plus simple en utilsant \w. > > Essaie : > [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} > > Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas > dans > sed. Le plus « drôle », c’est que cela dépend aussi du shell utilisé. > Marche pas ! $ find . -type f -print | xargs egrep -o '[\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4}' xargs: guillemets simple non appairés ; par défaut les guillemets sont particuliers à xargs à moins d'utiliser l'option -0 grep: ./www._.com/pics/contents/webzine/communique: No such file or directory grep: paris: No such file or directory grep: design: No such file or directory grep: week.pdf: No such file or directory grep: ./www._.com/pics/contents/webzine/vs: No such file or directory grep: a: No such file or directory grep: glass: No such file or directory grep: house.jpg: No such file or directory grep: ./www._.com/pics/webzine/29: No such file or directory grep: citations: No such file or directory grep: pour: No such file or directory Je n'ai même plus les adresses du webmestre ! J'ai pas comprie le truc des obliques, moi il faut me donner la bécquée comme un oisillion mais en code source, je ne suis pas capable de réfléchire Il faut ce mettre à python, Lxml et BeautifulSoup ? Je cherche un truc plus simple, sous windows quand je lance une recherche il me sort 300 pages avec dans le nom, il y a l’arobase dans le noms, en plus une dizaines d’exécutables en DOS, je crois que c'est dans ces fichiers si j'ai télécharger les adresses ? Je suis le seul à faire du scraping ? Ptilou
Re: [HS] HTML, javascript, expression régulière ?
Enfin une question à laquelle je peux essayer de répondre :-) Je suis nul en informatique, mais j’ai une relative maîtrise des expressions rationnelles. Dans ton expression, tu as oublié de protéger le point et le trait d’union. Par ailleurs, on peut faire plus simple en utilsant \w. Essaie : [\w\.\-]+@[\w\.\-]{2,}\.[a-z]{2,4} Cela dit, il faut aussi parfois protéger les contre-obliques, en tout cas dans sed. Le plus « drôle », c’est que cela dépend aussi du shell utilisé. Thomas Savary Le Grand Plessis F-85340 L’Île-d’Olonne Tél. 06 22 82 61 34 www.correctionpro.fr www.compo85.fr Lundi 23 octobre 2017, à 01:19:46 CEST, ptilou a écrit : > Bonjour la liste, > > J'ai besoin de récupérer des adresses mail, j'utilise wget -m > http://mon_site_que_j'aime.fr Je me retrouve avec 5 go de donnée, quand > j'ouvre les pages à la mano sous LibreOffice, çà revoie à un > javascript:void(0); comme balise pour l'adresse mail. J'ai donc en ligne de > commande taper > $ find . -type f -print | xargs egrep -o > '[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}' Voila les erreurs qui > apparaissent : > [...] > grep: paris: No such file or directory > grep: design: No such file or directory > grep: week.pdf: No such file or directory > grep: ./www..com/pics/contents/webzine/vs: No such file or directory > grep: a: No such file or directory > grep: glass: No such file or directory > > [...] > Je ne récupère que les adresses du Webmestre, donc comment récupérer > l'annuaire complet ? ( çà a mouliner toute la nuit et j'ai fait un Control > C pour arrêter ce matin ) > > Donc je sais pas si je n'ai pas télécharger les adresses, ou si c'est > l'expression régulière qui est erroné ? > > Merci de m’orienter vers un forum plus approprié si vous n'aviez pas la > solution ! > > Ptilou
[HS] HTML, javascript, expression régulière ?
Bonjour la liste, J'ai besoin de récupérer des adresses mail, j'utilise wget -m http://mon_site_que_j'aime.fr Je me retrouve avec 5 go de donnée, quand j'ouvre les pages à la mano sous LibreOffice, çà revoie à un javascript:void(0); comme balise pour l'adresse mail. J'ai donc en ligne de commande taper $ find . -type f -print | xargs egrep -o '[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}' Voila les erreurs qui apparaissent : [...] grep: paris: No such file or directory grep: design: No such file or directory grep: week.pdf: No such file or directory grep: ./www..com/pics/contents/webzine/vs: No such file or directory grep: a: No such file or directory grep: glass: No such file or directory [...] Je ne récupère que les adresses du Webmestre, donc comment récupérer l'annuaire complet ? ( çà a mouliner toute la nuit et j'ai fait un Control C pour arrêter ce matin ) Donc je sais pas si je n'ai pas télécharger les adresses, ou si c'est l'expression régulière qui est erroné ? Merci de m’orienter vers un forum plus approprié si vous n'aviez pas la solution ! Ptilou
Expression régulière !
Bonjour, Je m'arrache les cheveux sur une test: Dans un script bash, j'ai besoin de contrôler que la valeur taper par l'utilisateur est comprise dans l'intervalle [-16, 16] Et franchement, je n'arrive à rien du tout. S'il y a un pro des expressions régulières, je le bénis d'avance de bien vouloir voler à mon secours ! ;-) Pascal
Re: Expression régulière !
Le Fri, 18 Nov 2011 13:09:15 +0100, Luxpopuli Open source luxpopul...@gmail.com a écrit : Bonjour, Je m'arrache les cheveux sur une test: Dans un script bash, j'ai besoin de contrôler que la valeur taper par l'utilisateur est comprise dans l'intervalle [-16, 16] Et franchement, je n'arrive à rien du tout. S'il y a un pro des expressions régulières, je le bénis d'avance de bien vouloir voler à mon secours ! ;-) Pascal bonjour, j'ai trouvé un équivalent (cf lien) : http://linuxfr.org/users/pit/journaux/script-bash-de-base reste à adapter les script ... en alternative je propose d'eployer des valeurs absolues ou hexadécimales ... slt bernard -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018131314.63ec6e0c.bernard.schoenac...@free.fr
Re: Expression régulière !
On Fri, Nov 18, 2011 at 01:09:15PM +0100, Luxpopuli Open source wrote: Dans un script bash, j'ai besoin de contrôler que la valeur taper par l'utilisateur est comprise dans l'intervalle [-16, 16] Et franchement, je n'arrive à rien du tout. S'il y a un pro des expressions régulières, je le bénis d'avance de bien vouloir voler à mon secours ! ;-) Utiliser des expressions régulières pour faire de l'arithmétique, c'est un peu comme utiliser un tourne-vis pour planter des clous (on peut y arriver, mais c'est vraiment pas fait pour). Regarde plutôt test(1), options -le, -ge et autres: if [ $a -lt 16 ] [ $a -gt -16 ]; then echo good; else echo not good; fi Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018131949.gp9...@naryves.com
Re: Expression régulière !
Bonjour, En effet, je me suis mélangé les pinceaux avec des apostrophes qui rendaient mon code invalide et du coup je suis parti dans des trucs incroyablement compliqués :-( La réponse de Yves est parfaite. Il y a une deuxième chose que je n'ai pas réussi à faire: Si à la place d'une valeur numérique comprise entre -16 et 16 je réponds xyz alors le test renvoie ceci: line 5: [: pp : nombre entier attendu comme expression J'ai donc modifier le code ainsi: if [[ $1 != [-0-9] ]];then echo Pas bon; exit; else # On crontrôle que $1 soit sompris entre -16 et 16 if [ $1 -lt 16 ] [ $1 -gt -16 ]; then echo Ok; else echo Pas Ok; fi fi La première ligne est sensée contrôler que $1 ne soit composée que d'un signe - (ou d'aucun digne) et de chiffres. Problème: si je rentre -8 le test répond Pas bon ! Là encore, j'ai essayé plein de syntaxes mais aucune ne fonctionne. Merci pour votre aide Pascal Le 18 novembre 2011 14:19, Yves Rutschle debian.anti-s...@rutschle.net a écrit : On Fri, Nov 18, 2011 at 01:09:15PM +0100, Luxpopuli Open source wrote: Dans un script bash, j'ai besoin de contrôler que la valeur taper par l'utilisateur est comprise dans l'intervalle [-16, 16] Et franchement, je n'arrive à rien du tout. S'il y a un pro des expressions régulières, je le bénis d'avance de bien vouloir voler à mon secours ! ;-) Utiliser des expressions régulières pour faire de l'arithmétique, c'est un peu comme utiliser un tourne-vis pour planter des clous (on peut y arriver, mais c'est vraiment pas fait pour). Regarde plutôt test(1), options -le, -ge et autres: if [ $a -lt 16 ] [ $a -gt -16 ]; then echo good; else echo not good; fi Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018131949.gp9...@naryves.com
Re: Expression régulière !
On Fri, 18 Nov 2011 14:19:50 +0100 Yves Rutschle debian.anti-s...@rutschle.net wrote: if [ $a -lt 16 ] [ $a -gt -16 ]; then echo good; else echo not good; fi Heu, ça ne serait pas plutôt: if [ $a -lt 17 ] [ $a -gt -15 ]; par hasard? -- Dibble's First Law of Sociology: Some do, some don't. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018154331.08e824e5@anubis.defcon1
Re : Expression régulière !
Je ne suis pas certain que ceci soit correct: if [[ $1 != [-0-9] ]];then Je ne suis pas un expert, mais je ne saurais dire ce que cela signifie puisque [-0-9] semble être un motif que bash va tenter de faire correspondre aux fichiers présents dans ./. A défaut de trouver quelque chose au niveau de bash, ceci semble robuste: if ! echo ${1} | grep ^[\+\-]\?[0-9]\+$; then ou plus implement cela (après la lecture du man de bash): if [[ ! $1 =~ ^[\-+]?[0-9]+$ ]]; then Ces deux solutions supportent le signe +. Nicolas -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/1321631423.84063.yahoomail...@web28514.mail.ukl.yahoo.com
Re: Expression régulière !
Le Fri, 18 Nov 2011 15:50:23 + (GMT), Nicolas Bercher nberc...@yahoo.fr a écrit : Je ne suis pas certain que ceci soit correct: if [[ $1 != [-0-9] ]];then Je ne suis pas un expert, mais je ne saurais dire ce que cela signifie puisque [-0-9] semble être un motif que bash va tenter de faire correspondre aux fichiers présents dans ./. A défaut de trouver quelque chose au niveau de bash, ceci semble robuste: if ! echo ${1} | grep ^[\+\-]\?[0-9]\+$; then ou plus implement cela (après la lecture du man de bash): if [[ ! $1 =~ ^[\-+]?[0-9]+$ ]]; then Ces deux solutions supportent le signe +. Nicolas bonjour, pourquoi ne pas employer la fonction sequence (seq) ? http://www.tldp.org/LDP/abs/html/ slt bernard -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018170729.57197eee.bernard.schoenac...@free.fr
Re : Expression régulière !
Je rectifie: [-0-9] semble être un motif que bash va tenter de faire correspondre aux fichiers présents dans ./. A priori non, pas dans le contexte d'une commande composée telle que [[ ]]. De plus, la page man est très claire à ce sujet: Le découpage en mots et le développement des chemins ne sont pas effectués sur les mots entre [[ et ]]. Nicolas -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/1321634064.95536.yahoomail...@web28514.mail.ukl.yahoo.com
Re: Expression régulière !
On Fri, Nov 18, 2011 at 03:43:31PM +0100, Jean-Yves F. Barbier wrote: if [ $a -lt 16 ] [ $a -gt -16 ]; then echo good; else echo not good; fi Heu, ça ne serait pas plutôt: if [ $a -lt 17 ] [ $a -gt -15 ]; par hasard? J'ai raté l'inclusion effectivement. Soit ta solution, soit -le et -ge qui comparent less or equal: solution à choisir selon ce qui est plus logique dans le contexte. Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018172555.gr9...@naryves.com
Re: Expression régulière !
J'ai toujours ça sous la main : Guide avancé d'écriture des scripts Bash → http://abs.traduc.org/abs-fr/ À+, Serge S. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/cafeepgag2cdf0jtq-rn1gvnfrpjo3xpkxrdbnzbd8ogjixt...@mail.gmail.com
Re: Expression régulière !
On Fri, 18 Nov 2011 18:25:55 +0100 Yves Rutschle debian.anti-s...@rutschle.net wrote: On Fri, Nov 18, 2011 at 03:43:31PM +0100, Jean-Yves F. Barbier wrote: if [ $a -lt 16 ] [ $a -gt -16 ]; then echo good; else echo not good; fi Heu, ça ne serait pas plutôt: if [ $a -lt 17 ] [ $a -gt -15 ]; par hasard? J'ai raté l'inclusion effectivement. Soit ta solution, soit -le et -ge qui comparent less or equal: solution à choisir selon ce qui est plus logique dans le contexte. Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = Dans le cas présent c'est trivial, dans le cas d'une fonction DB testant une multitude de cas ou d'un PGM temps réel ou bien tournant sur une carte embarquée c'est très important; et c'est une bonne habitude à prendre. -- A man's house is his hassle. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018193416.3bcd906e@anubis.defcon1
Re: Re : Expression régulière !
Merci Nicolas, A partir de ta réponse j'ai créé celle-ci qui fonctionne très bien: if [[ $1 =~ ^[\-+]?[0-9]{1}$ ]] || [[ $1 =~ ^[\-+]?[1]{1}[0-6]{1}$ ]]; then echo oui; else echo non; fi exit Merci encore, Pascal Le 18 novembre 2011 16:50, Nicolas Bercher nberc...@yahoo.fr a écrit : Je ne suis pas certain que ceci soit correct: if [[ $1 != [-0-9] ]];then Je ne suis pas un expert, mais je ne saurais dire ce que cela signifie puisque [-0-9] semble être un motif que bash va tenter de faire correspondre aux fichiers présents dans ./. A défaut de trouver quelque chose au niveau de bash, ceci semble robuste: if ! echo ${1} | grep ^[\+\-]\?[0-9]\+$; then ou plus implement cela (après la lecture du man de bash): if [[ ! $1 =~ ^[\-+]?[0-9]+$ ]]; then Ces deux solutions supportent le signe +. Nicolas -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/1321631423.84063.yahoomail...@web28514.mail.ukl.yahoo.com
Re: Expression régulière !
Le Fri, 18 Nov 2011 19:34:16 +0100, Jean-Yves F. Barbier 12u...@gmail.com a écrit : Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = Sur quelle architecture ? -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018201858.46603...@wanadoo.fr
Re: Expression régulière !
On Fri, 18 Nov 2011 20:18:58 +0100 Stéphane Goujet stephane.gou...@wanadoo.fr wrote: Le Fri, 18 Nov 2011 19:34:16 +0100, Jean-Yves F. Barbier 12u...@gmail.com a écrit : Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = Sur quelle architecture ? Actuellement et autant que je sache, toutes (même si le pipeline permet de réduire artificiellement le Nb de cycles). -- It was Penguin lust... at its ugliest. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018203409.1d024041@anubis.defcon1
Re: Expression régulière !
Le vendredi 18 novembre 2011 à 19:34:16, Jean-Yves F. Barbier a écrit : [… du shell …] Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = Dans le cas présent c'est trivial, dans le cas d'une fonction DB testant une multitude de cas ou d'un PGM temps réel ou bien tournant sur une carte embarquée c'est très important; et c'est une bonne habitude à prendre. Et un appel de fonction, c’est des dizaines de cycles ! N’écrivez jamais de fonction. Faites un code monobloc. Prenez de bonnes habitudes. Et les boucles, c’est des sauts inutiles ! Remplacez-les par du copier-coller. Prenez de bonnes habitudes. Et, et, et… Heureusement qu’on n’est pas vendredi… ah si, tiens, oups… -- Sylvain Sauvage -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20182054.57244.sylvain.l.sauv...@free.fr
Re: Expression régulière !
Le Fri, 18 Nov 2011 20:34:09 +0100, Jean-Yves F. Barbier 12u...@gmail.com a écrit : On Fri, 18 Nov 2011 20:18:58 +0100 Stéphane Goujet stephane.gou...@wanadoo.fr wrote: Le Fri, 18 Nov 2011 19:34:16 +0100, Jean-Yves F. Barbier 12u...@gmail.com a écrit : Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = Sur quelle architecture ? Actuellement et autant que je sache, toutes (même si le pipeline permet de réduire artificiellement le Nb de cycles). Ben, ce n'est pas le cas sur 6809, 8051, 8086 jusqu'à AMD64 et Intel64, ARM, etc., ce qui paraît normal vu qu'il ne s'agit que de tester un ou deux flags après la même opération. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018220205.62517...@wanadoo.fr
Re: Expression régulière !
On Fri, Nov 18, 2011 at 07:34:16PM +0100, Jean-Yves F. Barbier wrote: Non, simplement parce que ou prend bcp moins de cycles CPU que = ou = 1. On parle de script shell, où l'on jete les cycles CPU par milliers rien que pour s'amuser. 2. C'est faux au moins pour l'architecture ARM, qui sait faire l'un et l'autre, et en signé ou en non signé s'il vous plait. 3. Sur les architectures handicappées, c'est au compilateur de se démerder et de transformer (a = b) en (a b-1) si c'est mieux. Rendre du code moins lisible pour pallier à un defaut du compilateur, c'est Mal. Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/2018210753.gy25...@naryves.com
Re: grep et expression régulière
Le Thu, 14 Jan 2010 18:30:03 +0100, Yves Rutschle a écrit : On Thu, Jan 14, 2010 at 05:12:38PM +0100, fabrice régnier wrote: FR-PORT:/tmp# grep ^[0-9]{4,12}; toto Problème de dialecte: $ grep ^[0-9]\{4,12\}; toto 1234567890;01;02;12/06/2010; Y. si je comprends bien : - il faut l'expression - il faut en plus \ (echapper) les { et } D'après l'autre fil il vaut mieux faire un alias grep=egrep dans bashrc ? -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
grep et expression régulière
salut la liste, L'expression régulière que je passe à grep ne lui plait pas. Mais je ne vois pas mon erreur. Pour moi, il devrait me sortir 1234567890;01;02;12/06/2010; C'est à dire que je recherche les lignes qui commencent par un numérique avec de 4 à 12 chiffres ensuite et qui comporte un ; à la suite. code FR-PORT:/tmp# cat toto 1234567890;01;02;12/06/2010; 011234567890;01;02;12/06/2010;klklk FR-PORT:/tmp# grep ^[0-9]{4,12}; toto FR-PORT:/tmp# /code Si quelqu'un voit mon erreur ;) merci et a+ f. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: grep et expression régulière
fabrice régnier a écrit : salut la liste, L'expression régulière que je passe à grep ne lui plait pas. Mais je ne vois pas mon erreur. Pour moi, il devrait me sortir 1234567890;01;02;12/06/2010; C'est à dire que je recherche les lignes qui commencent par un numérique avec de 4 à 12 chiffres ensuite et qui comporte un ; à la suite. code FR-PORT:/tmp# cat toto 1234567890;01;02;12/06/2010; 011234567890;01;02;12/06/2010;klklk FR-PORT:/tmp# grep ^[0-9]{4,12}; toto FR-PORT:/tmp# /code Si quelqu'un voit mon erreur ;) merci et a+ f. avec egrep à la place de grep ca marche tres bien, enfin disons qu'il sort la premiere ligne de toto et pas la sconde j'ai pas experimente plus... il me semble que grep est parfois chatouilleux sur les regexp... bonne soiree -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: grep et expression régulière
Le Thu, 14 Jan 2010 17:12:38 +0100, fabrice régnier regnier@free.fr a écrit : salut la liste, L'expression régulière que je passe à grep ne lui plait pas. Mais je ne vois pas mon erreur. Pour moi, il devrait me sortir 1234567890;01;02;12/06/2010; C'est à dire que je recherche les lignes qui commencent par un numérique avec de 4 à 12 chiffres ensuite et qui comporte un ; à la suite. code FR-PORT:/tmp# cat toto 1234567890;01;02;12/06/2010; 011234567890;01;02;12/06/2010;klklk FR-PORT:/tmp# grep ^[0-9]{4,12}; toto FR-PORT:/tmp# /code Si quelqu'un voit mon erreur ;) merci et a+ f. Salut, Utilise grep -E. (extrait du man ) -E, --extended-regexp Interpréter le MOTIF comme une expression rationnelle étendue (...) A+ -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Expression régulière
-[ Mon, Oct 23, 2006 at 03:24:05PM +0200, Marc Chantreux ] Dans tous les cas, je crois lancer 2 fois cut n'était pas une bonne idée. Ah bon ? Pourquoi ? C'est le nombre de cut oubien le nombre de pipe qui t'inquiètes ? Moi à vu de nez je pense que cut est beaucoup plus rapide que de traiter les lignes en shell. S'il y a une seule ligne à traiter, toutes les solutions se valent. S'il y en a plein, voici ce que ça donne : date; yes rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | head -1 | while IFS=' ' read rtt names equals values rest; do echo $values | while IFS='/' read mix avg max ; do echo $mix ; done; done /dev/null; date Tue Oct 24 09:06:22 CEST 2006 Tue Oct 24 09:06:46 CEST 2006 Comparé à : date; yes rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | head -1 | cut -d -f4 | cut -d/ -f1 /dev/null; date Tue Oct 24 09:07:40 CEST 2006 Tue Oct 24 09:07:40 CEST 2006 C'est beaux, les pipes UNIX ! :-) -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Laurent FRANCOIS a écrit : Txo wrote: En ce dimanche 22 octobre 2006 à 11:54:14 pascal nous susurrait : Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg. Je peux témoigner que cela nécessite de réfléchir pour une majorité de personnes... ;-) Pareil pour moi, je connaissais pas cut et en plus j'ai réfléchi et j'ai pas encore tout compris glupps Bon alors le terme réfléchir était mal choisi... Je voulais dire que ce genre de chose est assez basique tout de même et qu'avec un peu de lecture on y arrive sans peine. Par exemple: http://www-inf.int-evry.fr/cours/UNIX/EnLigne/Cours/ Voilà. P. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Bon alors le terme réfléchir était mal choisi... Je voulais dire que ce genre de chose est assez basique tout de même et qu'avec un peu de lecture on y arrive sans peine. Oui ... et en lisant un peu plus loin, on se rend compte que le problème n'est pas si basique que ca. Par exemple : la solution sera totalement différente en fonction du volume de données a traiter. Dans tous les cas, je crois lancer 2 fois cut n'était pas une bonne idée. Voici 3 facons de faire ( 1 avec cut et 2 sans aucune commande externe ) for f ( * ) { echo -e \n\n$f ---\n ; cat $f ;echo ; command time dash $f } cut.sh --- line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms ' | cut -d -f4 | cut -d/ -f1 /dev/null 0.00user 0.00system 0:00.01elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+461minor)pagefaults 0swaps shellway2.sh --- echo 'rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms' | while IFS=' ' read rtt names equals values rest; do echo $values | while IFS='/' read mix avg max ; do echo min $mix /dev/null done done 0.00user 0.00system 0:00.00elapsed 83%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+227minor)pagefaults 0swaps shellway.sh --- line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms' vire_prefix=${line%ms, *} final=${vire_prefix#*=} echo $final | while IFS='/' read mix avg max ; do echo min $mix /dev/null done 0.00user 0.00system 0:00.00elapsed 75%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+189minor)pagefaults 0swaps -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Marc Chantreux a écrit : Bon alors le terme réfléchir était mal choisi... Je voulais dire que ce genre de chose est assez basique tout de même et qu'avec un peu de lecture on y arrive sans peine. Oui ... et en lisant un peu plus loin, on se rend compte que le problème n'est pas si basique que ca. Par exemple : la solution sera totalement différente en fonction du volume de données a traiter. Dans tous les cas, je crois lancer 2 fois cut n'était pas une bonne idée. Voici 3 facons de faire ( 1 avec cut et 2 sans aucune commande externe ) for f ( * ) { echo -e \n\n$f ---\n ; cat $f ;echo ; command time dash $f } cut.sh --- line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms ' | cut -d -f4 | cut -d/ -f1 /dev/null 0.00user 0.00system 0:00.01elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+461minor)pagefaults 0swaps shellway2.sh --- echo 'rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms' | while IFS=' ' read rtt names equals values rest; do echo $values | while IFS='/' read mix avg max ; do echo min $mix /dev/null done done 0.00user 0.00system 0:00.00elapsed 83%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+227minor)pagefaults 0swaps shellway.sh --- line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms' vire_prefix=${line%ms, *} final=${vire_prefix#*=} echo $final | while IFS='/' read mix avg max ; do echo min $mix /dev/null done 0.00user 0.00system 0:00.00elapsed 75%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+189minor)pagefaults 0swaps Oui bien sûr Il faut être sérieux... 1°) on n'a pas parlé ici de volumes considérables de données... 2°) franchement ces considérations seront-elles pertinentes pour des gens qui ignorent la commande cut (ceci dit sans aucun à-priori, il faut bien commencer un jour...) ? 3°) j'ai bien précisé que je donnais UNE solution et en l'occurence la première qui me venait à l'esprit. Que celle-ci ne soit pas optimale je veux bien en convenir...Mais ça n'est pas trop le propos. 4°) en utilisant parot on devrait obtenir encore de bien meilleures perfs... Trève de plaisanterie, ce que je faisais juste remarquer et qui reste valable , c'est que sans trop de peine, on peut obtenir rapidement une solution convenable (quoique non optimale) en ayant cherché un peu. Ce que le Monsieur a admis du reste. P. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
pascal wrote: Oui bien sûr Il faut être sérieux... je suis :) 2°) franchement ces considérations seront-elles pertinentes pour des gens qui ignorent la commande cut (ceci dit sans aucun à-priori, il faut bien commencer un jour...) ? je faisais part de ces remarques justement a cause de cela: je suis souvent face a des gens qui utilisent tel ou tel filtre simplement par habitude. Je crois qu'il est bon de montrer d'autres manières de faire meme si ces dernières n'ont pas utilisées immédiatement. 3°) j'ai bien précisé que je donnais UNE solution et en l'occurence la première qui me venait à l'esprit. Que celle-ci ne soit pas optimale je veux bien en convenir...Mais ça n'est pas trop le propos. je n'ai nullement remis en cause ta réponse, je ne faisais que tenter de l'enrichir. 4°) en utilisant parot on devrait obtenir encore de bien meilleures perfs... voui !!! oh voui a . ahhh L'attente est insoutenable : j'utilise pugs depuis qq temps deja. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Expression régulière
Bonjour à tous, Je n'ai jamais vraiment eu le temps de m'intéresser aux expressions régulières, mais aujourd'hui j'aurais besoin d'extraire de cette ligne (résultat d'un ping) les trois variables min avg et max : rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms Evidemment, je ne sais pas faire ... je suis sûr que c'est le genre de truc qui se fait en une petite ligne avec sed ou awk ... un bonne âme pourrait-elle m'aider ? -- Sylvain -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Sylvain A. a écrit : Bonjour à tous, Je n'ai jamais vraiment eu le temps de m'intéresser aux expressions régulières, Il faudrait peut-être chercher un peu... mais aujourd'hui comme c'est dimanche... j'aurais besoin d'extraire de cette ligne (résultat d'un ping) les trois variables min avg et max : rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms Evidemment, je ne sais pas faire ... je suis sûr que c'est le genre de truc qui se fait en une petite ligne avec sed ou awk ... un bonne âme pourrait-elle m'aider ? Là c'est franchement limite comme question. Il n'y a même besoin d'expression régulière ! Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg. A + Pascal -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
pascal a écrit : Sylvain A. a écrit : Bonjour à tous, Je n'ai jamais vraiment eu le temps de m'intéresser aux expressions régulières, Il faudrait peut-être chercher un peu... mais aujourd'hui comme c'est dimanche... j'aurais besoin d'extraire de cette ligne (résultat d'un ping) les trois variables min avg et max : rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms Evidemment, je ne sais pas faire ... je suis sûr que c'est le genre de truc qui se fait en une petite ligne avec sed ou awk ... un bonne âme pourrait-elle m'aider ? Là c'est franchement limite comme question. Il n'y a même besoin d'expression régulière ! Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg. Ooops erreur de frappe : il fallait lire -f3 --- avg bien sûr. P. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
En ce dimanche 22 octobre 2006 à 11:54:14 pascal nous susurrait : Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg. Je peux témoigner que cela nécessite de réfléchir pour une majorité de personnes... ;-) -- -+- Dominique Marin http://txodom.free.fr -+- «Au commencement fut créé l'Univers. Cela mécontenta beaucoup de monde, et fut largement considéré comme une mauvaise idée.» -+- Douglas Adams in «Le Guide du Routard Galactique» -+-
Re: Expression régulière
Salut, Il faudrait peut-être chercher un peu... mais aujourd'hui comme c'est dimanche... Ok, c'est vrai ... promis, je m'y mets dès que j'en ai le temps ;-) Là c'est franchement limite comme question. Il n'y a même besoin d'expression régulière ! Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg Je me doutais bien que ce n'était pas difficile, mais je n'avais pas la moindre idée de comment faire ça. Je découvre du coup la commande cut ;-) Merci beaucoup en tout cas ! -- Sylvain -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Txo wrote: En ce dimanche 22 octobre 2006 à 11:54:14 pascal nous susurrait : Allez zou sans réfléchir... echo rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms | cut -d -f4 | cut -d/ -f1 donne min -f2-- max et -f3-6-- avg. Je peux témoigner que cela nécessite de réfléchir pour une majorité de personnes... ;-) Pareil pour moi, je connaissais pas cut et en plus j'ai réfléchi et j'ai pas encore tout compris glupps
Expression régulière
Est-il possible avec une expression régulière d'extraire le nom d'un fichier du chemin compet ou relatif de ce fichier avec ou sans extension. exemple : bin/app/essai ou /usr/local/apache/acces.conf En fait ce que je veux récupérer dans ces deux exemples c'est essai' et access.conf Merci Philippe LEBRETON -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Le 10.07.02, LEBRETON Philippe a tapoté : | Est-il possible avec une expression régulière d'extraire le nom d'un | fichier du chemin compet ou relatif de ce fichier avec ou sans | extension. | exemple : | bin/app/essai | ou | | /usr/local/apache/acces.conf | | En fait ce que je veux récupérer dans ces deux exemples c'est essai' et | access.conf c'est tout à fait possible avec une expression rationnelle. s,.*/\([^/]*\),\1, Mais il y a plus simple : basename $chemin | Merci Avec plaisir. Thomas -- BOFH excuse #160: Non-redundant fan failure -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
On Wed, Jul 10, 2002 at 12:44:52PM +0200, LEBRETON Philippe wrote: Est-il possible avec une expression régulière d'extraire le nom d'un fichier du chemin compet ou relatif de ce fichier avec ou sans extension. exemple : bin/app/essai ou /usr/local/apache/acces.conf En fait ce que je veux récupérer dans ces deux exemples c'est essai' et access.conf /([^\/]*?)$/ Sinon, basename(1) est peut-être mieux pour ça :-) /Y -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Expression régulière
Salut , La commande basename devrait suffir :) On Wed, 2002-07-10 at 12:44, LEBRETON Philippe wrote: Est-il possible avec une expression régulière d'extraire le nom d'un fichier du chemin compet ou relatif de ce fichier avec ou sans extension. exemple : bin/app/essai basnemane bin/app/essai ou /usr/local/apache/acces.conf En fait ce que je veux récupérer dans ces deux exemples c'est essai' et access.conf Merci Philippe LEBRETON -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]