Re: [FRsAG] cherche cas usage des regex dans la vraie vie
On 02/15/2015 04:12 AM, neo futur wrote: perso pour les emails je prefere celle la, un peu plus courte et qui fonctionne bien jusqu ici : function is_valid_email($email) { return preg_match('/^(([^()[\]\\.,;:\s@\']+(\.[^()[\]\\.,;:\s@\']+)*)|([^\']+))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email); } Moi je lis la doc. http://php.net/filter_var et http://php.net/manual/fr/filter.filters.validate.php ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Hello, Je suis sysadmin et je note pas mal de mes commandes cas concret sur mon site: https://jeznet.org/Wiki/CodeSnippets (tu ctrl+F 'grep' dans la page, pour arriver sur les sections interressantes). De manière générale: https://jeznet.org/?n=Wiki.HomePageaction=searchq=grep Plus que la beauté des commandes, tu trouvera des cas concrets. Dans le cas de mon shell, je pousse mes Regex dans des variables, pour les réutiliser avec grep/sed: https://github.com/mrjk/linux-personal-env/blob/master/bash/bash.bashrc (fonction shell_global_variable) Note 1: Pas mal de ces commandes pourraient être optimisées, mais par exemple je préfère piper plusieurs grep simple qu'un gros grep avec une expression de bourrin. Question de réusabilité. Note 2: Désolé pour la pub ? :/ -- MrJK Le 11 février 2015 06:29, Mihamina RAKOTOMANDIMBY mihamina.rakotomandi...@rktmb.org a écrit : Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
2015-02-14 5:33 GMT-05:00 Arnaud Launay a...@launay.org: Le Thu, Feb 12, 2015 at 10:10:15AM +0100, Luc Didry a écrit: Le saint Graal de la regex se trouve ici : http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html perso pour les emails je prefere celle la, un peu plus courte et qui fonctionne bien jusqu ici : function is_valid_email($email) { return preg_match('/^(([^()[\]\\.,;:\s@\']+(\.[^()[\]\\.,;:\s@\']+)*)|([^\']+))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email); } Je n'ai pas vérifié, mais est ce que ça couvre aussi les cas modernes avec des domaines et emails IDN ? Du style gérard@àlacon.paris ? g je hais les accents ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
pas besoin de perl pour matcher entre deux pattern: il y a awk ! Avec un format /pattern/,/pattern/ {actions} - ou plus simplement /pattern/ {actions} - on peut en faire des choses (et des nœuds aux neurones quand on voit le nombre d'actions possibles ! ) Pas d'exemple sous la main, désolé. Fabrice Le 11/02/2015 19:41, Benjamin BILLON a écrit : Si tu veux bien leur casser la tête, tu peux leur montrer l'astuce en perl pour récupérer ce qu'il y a entre deux bidules : if (/pattern1/ .. /pattern2/) { } -- Benjamin - Le 11 février 2015 12:17, Mihamina RAKOTOMANDIMBY mihamina.rakotomandi...@rktmb.org mailto:mihamina.rakotomandi...@rktmb.org a écrit : On 02/11/2015 01:53 PM, Alexis Lameire wrote: extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Bien vu ;-) Merci à toi et bien évidemment à *tous* ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Il y a aussi sed. Un exemple concret, afficher uniquement un intervalle de lignes retournées par la console bacula : echo status dir | bconsole | sed -ne '/^Running/,/^Terminated/p' Cette commande n'affiche que ce qui se trouve entre la ligne commençant par Running et la ligne commençant par Terminated. On 13/02/2015 14:02, Fabrice Vincent wrote: pas besoin de perl pour matcher entre deux pattern: il y a awk ! Avec un format /pattern/,/pattern/ {actions} - ou plus simplement /pattern/ {actions} - on peut en faire des choses (et des nœuds aux neurones quand on voit le nombre d'actions possibles ! ) Pas d'exemple sous la main, désolé. Fabrice Le 11/02/2015 19:41, Benjamin BILLON a écrit : Si tu veux bien leur casser la tête, tu peux leur montrer l'astuce en perl pour récupérer ce qu'il y a entre deux bidules : if (/pattern1/ .. /pattern2/) { } -- Benjamin - Le 11 février 2015 12:17, Mihamina RAKOTOMANDIMBY mihamina.rakotomandi...@rktmb.org mailto:mihamina.rakotomandi...@rktmb.org a écrit : On 02/11/2015 01:53 PM, Alexis Lameire wrote: extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Bien vu ;-) Merci à toi et bien évidemment à *tous* ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Pas un exemple de regex en lui même, mais plutôt un exemple d'utilisation :Lorsque tu fais une procédure d'installation / configuration, à la place de marquer aller dans le fichier machin et modifier la valeur truc par machin, tu fais directement la commande qui va bien, genre :sed -i 's/default/monUser/g' monFichier.conf (Bien sûr, c'est si tu réalise une procédure que tu veux réutiliser en copier-coller) Cordialement,Arnaud Date: Thu, 12 Feb 2015 10:10:15 +0100 From: l...@didry.org To: fr...@ww7.be; j...@plusquenet.net CC: frsag@frsag.org Subject: Re: [FRsAG] cherche cas usage des regex dans la vraie vie On 12/02/2015 02:43, neo futur wrote: ah j ai retrouve ce qui sera ton saint graal de la regexp : http://www.commandlinefu.com/commands/tagged/351/regex http://www.commandlinefu.com/commands/tagged/2323/regexp je savai bien que je pourrai faire mieux que mon bete grep qui au final trouve beaucoup de grep mais peu de regexp ;) Le saint Graal de la regex se trouve ici : http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html Cela permet de vérifier qu'une adresse mail est valide. Peu utile pour les adminSys, certes, mais les dév web pourront en prendre de la graine (et comprendre leur douleur face à leur /^[^@]+@.+\...+$/). -- Luc http://www.fiat-tux.fr/ Internet n'est pas compliqué, Internet est ce que vous en faites. ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Si tu veux bien leur casser la tête, tu peux leur montrer l'astuce en perl pour récupérer ce qu'il y a entre deux bidules : if (/pattern1/ .. /pattern2/) { } -- Benjamin - Le 11 février 2015 12:17, Mihamina RAKOTOMANDIMBY mihamina.rakotomandi...@rktmb.org a écrit : On 02/11/2015 01:53 PM, Alexis Lameire wrote: extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Bien vu ;-) Merci à toi et bien évidemment à *tous* ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Salut, Il y a grok et logstash qui utilisent des regexp pour extaire les champs des entrées de log. Voir patterns/grok-patterns dans logstash et patterns/base dans grok. -- Gabriel ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns Mihamina RAKOTOMANDIMBY a écrit : Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
ah j ai retrouve ce qui sera ton saint graal de la regexp : http://www.commandlinefu.com/commands/tagged/351/regex http://www.commandlinefu.com/commands/tagged/2323/regexp je savai bien que je pourrai faire mieux que mon bete grep qui au final trouve beaucoup de grep mais peu de regexp ;) 2015-02-11 20:38 GMT-05:00 Jean Weisbuch j...@plusquenet.net: L'utilisation correcte de grep dans le cas d'une recherche dans un fichier est de passer le fichier à traiter en dernier argument. Il est rare qu'il faille utiliser cat fichier |outil ; dans la majeur partie des cas, soit l'outil accepte directement en argument de lire un fichier (comme grep, sed ou perl par exemple), soit un outil -options fichier. Dans le cas présent : grep 'grep' \#frsag.log Le 12/02/2015 02:05, neo futur a écrit : un grep en poupee russe, un grep pour lier tous les grep de frsag : neofutur@gabrielle ~/irclogs/freenode $ cat \#frsag.log | grep grep [...] je peu faire de meme sur des logs d autres channels si tu en veux beaucoup plus, j ai des logs irc depuis 2001 :p Et si tu à plusieurs recherches à exclure, selon le deuxième exemple (qui n’a pas de sens d'ailleurs, aucune ligne n'étant exclue) : grep -ve 'grep for' -ve 'grep on' -ve 'binaire' grep_list.txt Ou en utilisant des expressions régulières pour éviter d'avoir à chainer plusieurs -e (grep -E ou egrep) : grep -Ev 'grep (for|on)|binaire' grep_list.txt A noter également que cat fichier |cequetuveux fichier ne fonctionnera pas et que tu te retrouvera avec un fichier vide. Le 12/02/2015 02:18, neo futur a écrit : bon voila un fichier avec quelques centaines de grep: http://xena.ww7.be/grep_list.txt a toi de faire le tri je n ai fait qu un petit filtre genre cat grep_list.txt | grep -v grep for | grep -v grep on | grep -v binaire grep_list.txt ( ne pas oublier l utilite du grep -v ! ) Autant que possible, éviter de récupérer les infos sur la sortie d'outils qui traient déjà les données brutes pour les afficher de manière humainement lisible, donc plutôt que récupérer et grepper ifconfig, récupérer et traiter les infos sur /proc/net/dev (ou ailleurs en fonction de ce que l'on recherche) sera plus propre et on évitera un risque d'avoir son script qui ne fonctionne plus si ifconfig change la manière sont ses infos sont affichées ou si par exemple un changement de locale changeais l’ordre/formatage des infos alors que la sortie des fichiers dans /proc sera toujours formatée de la même manière, les potentielles nouvelles informations seront seulement rajoutées sur de nouvelles colonnes après l'existant. Le 11/02/2015 11:53, Alexis Lameire a écrit : extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Fait leur faire un script de collecte d'info système, c'est utile et ils vont en bouffer de la regexp ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
un grep en poupee russe, un grep pour lier tous les grep de frsag : neofutur@gabrielle ~/irclogs/freenode $ cat \#frsag.log | grep grep 2014-12-01 16:44 Kuri sinon greppez sur peck :) 2014-12-01 19:51 ne0futur grep -v rootfs /proc/mounts /etc/mtab 2014-12-03 13:19 HeisSpiter https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578595#10 2014-12-04 13:59 ne0futur peut etre https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764298 2014-12-04 14:25 ne0futur https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760947 2014-12-09 09:27@gregorg tu peux pas grepper ? 2014-12-10 11:50 * merlin8282 greppe dans ses logs irssi ^^ 2014-12-16 10:21 krion # ip a|grep inet|wc -l 2014-12-17 09:13@hanx_ $ free -m | grep -i swap 2014-12-20 15:23 sebbu2 lspci -v | grep -EA10 3D|VGA | grep -i prefetch 2014-12-30 11:39 hanx_ $ grep 'model name' /proc/cpuinfo | uniq 2014-12-31 15:42@hanx_ root@myserver:/home/vagrant{1}# locate zfs | grep ko 2015-01-02 10:43 krion # grep -i pirate /data/logs/apache2/customer-access.log|wc -l 2015-01-05 10:03 krion # zgrep thepiratebay /data/logs/apache2/customer-access.log.2.gz|awk '{print $2}'|sort -r|uniq -c|wc -l 2015-01-05 10:05 krion et grep le netname 2015-01-05 12:46 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-05 12:53 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-05 15:59 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-07 15:58 HeisSpiter pgrep merlin8282 | xargs kill -9 2015-01-07 16:41 krion https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23745272 2015-01-08 11:29 krion ip route|grep -i blackhole|wc -l 2015-01-08 15:11 krion # ip route |grep -c blackhole 2015-01-08 15:48@gregorg curl -sI http://www.charliehebdo.fr/ | grep X 2015-01-08 17:27 ne0futur mais blueness me dit que pipacs jettera un oeil si j ouvre un bugreport alors je me gene pas 2015-01-08 17:35 ne0futur puis tail -f ou cat | grep le file 2015-01-08 17:36 ne0futur cat dumpflooddhcp6-3 | grep 17:08:04 | grep 0x86dd | wc -l 2015-01-19 13:39@gregorg dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge 2015-01-19 15:44@hanx_ T0aD: netstat -nlapute | grep ESTABLISHED | wc -l 2015-01-19 15:44 T0aD root@m1:~# netstat -nlapute | grep ESTABLISH | wc -l 2015-01-28 16:07 T0aD string /lib/libc.so | grep version 2015-01-28 16:46@hanx_ gregorg: je viens de faire un grep, il y a rien comme ini_set concernant les sessions dans wordpress 2015-02-05 12:35 krion # ansible-doc -l|grep -i iptables 2015-02-05 14:18 merlin8282 grep -c Too many open files /var/log/php5-fpm.log -- me donne ~ 1500 par machine, sauf une où c'est 0 2015-02-05 14:36 olc `cat /proc/pid_de_nginx/limits | grep 'open files'` te donne les m�me valeurs sur les diff�rents serveurs ? 2015-02-05 14:45 Kioob`Taff genre truc de grand mère : pgrep php5-fpm | xargs -r renice -n 1 -p 2015-02-06 16:24@gregorg env | grep ANSIBLE 2015-02-10 12:26 krion grep foireux je peu faire de meme sur des logs d autres channels si tu en veux beaucoup plus, j ai des logs irc depuis 2001 :p 2015-02-11 14:22 GMT-05:00 Gabriel Corona gabriel.cor...@enst-bretagne.fr: Salut, Il y a grok et logstash qui utilisent des regexp pour extaire les champs des entrées de log. Voir patterns/grok-patterns dans logstash et patterns/base dans grok. -- Gabriel ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
bon voila un fichier avec quelques centaines de grep: http://xena.ww7.be/grep_list.txt a toi de faire le tri je n ai fait qu un petit filtre genre cat grep_list.txt | grep -v grep for | grep -v grep on | grep -v binaire grep_list.txt ( ne pas oublier l utilite du grep -v ! ) 2015-02-11 20:05 GMT-05:00 neo futur fr...@ww7.be: un grep en poupee russe, un grep pour lier tous les grep de frsag : neofutur@gabrielle ~/irclogs/freenode $ cat \#frsag.log | grep grep 2014-12-01 16:44 Kuri sinon greppez sur peck :) 2014-12-01 19:51 ne0futur grep -v rootfs /proc/mounts /etc/mtab 2014-12-03 13:19 HeisSpiter https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578595#10 2014-12-04 13:59 ne0futur peut etre https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764298 2014-12-04 14:25 ne0futur https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760947 2014-12-09 09:27@gregorg tu peux pas grepper ? 2014-12-10 11:50 * merlin8282 greppe dans ses logs irssi ^^ 2014-12-16 10:21 krion # ip a|grep inet|wc -l 2014-12-17 09:13@hanx_ $ free -m | grep -i swap 2014-12-20 15:23 sebbu2 lspci -v | grep -EA10 3D|VGA | grep -i prefetch 2014-12-30 11:39 hanx_ $ grep 'model name' /proc/cpuinfo | uniq 2014-12-31 15:42@hanx_ root@myserver:/home/vagrant{1}# locate zfs | grep ko 2015-01-02 10:43 krion # grep -i pirate /data/logs/apache2/customer-access.log|wc -l 2015-01-05 10:03 krion # zgrep thepiratebay /data/logs/apache2/customer-access.log.2.gz|awk '{print $2}'|sort -r|uniq -c|wc -l 2015-01-05 10:05 krion et grep le netname 2015-01-05 12:46 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-05 12:53 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-05 15:59 krion # iptables -n -L fail2ban-HTTP|grep -c DROP 2015-01-07 15:58 HeisSpiter pgrep merlin8282 | xargs kill -9 2015-01-07 16:41 krion https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23745272 2015-01-08 11:29 krion ip route|grep -i blackhole|wc -l 2015-01-08 15:11 krion # ip route |grep -c blackhole 2015-01-08 15:48@gregorg curl -sI http://www.charliehebdo.fr/ | grep X 2015-01-08 17:27 ne0futur mais blueness me dit que pipacs jettera un oeil si j ouvre un bugreport alors je me gene pas 2015-01-08 17:35 ne0futur puis tail -f ou cat | grep le file 2015-01-08 17:36 ne0futur cat dumpflooddhcp6-3 | grep 17:08:04 | grep 0x86dd | wc -l 2015-01-19 13:39@gregorg dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge 2015-01-19 15:44@hanx_ T0aD: netstat -nlapute | grep ESTABLISHED | wc -l 2015-01-19 15:44 T0aD root@m1:~# netstat -nlapute | grep ESTABLISH | wc -l 2015-01-28 16:07 T0aD string /lib/libc.so | grep version 2015-01-28 16:46@hanx_ gregorg: je viens de faire un grep, il y a rien comme ini_set concernant les sessions dans wordpress 2015-02-05 12:35 krion # ansible-doc -l|grep -i iptables 2015-02-05 14:18 merlin8282 grep -c Too many open files /var/log/php5-fpm.log -- me donne ~ 1500 par machine, sauf une où c'est 0 2015-02-05 14:36 olc `cat /proc/pid_de_nginx/limits | grep 'open files'` te donne les m�me valeurs sur les diff�rents serveurs ? 2015-02-05 14:45 Kioob`Taff genre truc de grand mère : pgrep php5-fpm | xargs -r renice -n 1 -p 2015-02-06 16:24@gregorg env | grep ANSIBLE 2015-02-10 12:26 krion grep foireux je peu faire de meme sur des logs d autres channels si tu en veux beaucoup plus, j ai des logs irc depuis 2001 :p 2015-02-11 14:22 GMT-05:00 Gabriel Corona gabriel.cor...@enst-bretagne.fr: Salut, Il y a grok et logstash qui utilisent des regexp pour extaire les champs des entrées de log. Voir patterns/grok-patterns dans logstash et patterns/base dans grok. -- Gabriel ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
encore quelques unes : un petit grep \^ * | grep | | grep sed reg1.txt m a trouve quelques bonnes regexp : http://xena.ww7.be/reg1.txt 2015-02-11 20:43 GMT-05:00 neo futur fr...@ww7.be: ah j ai retrouve ce qui sera ton saint graal de la regexp : http://www.commandlinefu.com/commands/tagged/351/regex http://www.commandlinefu.com/commands/tagged/2323/regexp je savai bien que je pourrai faire mieux que mon bete grep qui au final trouve beaucoup de grep mais peu de regexp ;) 2015-02-11 20:38 GMT-05:00 Jean Weisbuch j...@plusquenet.net: L'utilisation correcte de grep dans le cas d'une recherche dans un fichier est de passer le fichier à traiter en dernier argument. Il est rare qu'il faille utiliser cat fichier |outil ; dans la majeur partie des cas, soit l'outil accepte directement en argument de lire un fichier (comme grep, sed ou perl par exemple), soit un outil -options fichier. Dans le cas présent : grep 'grep' \#frsag.log Le 12/02/2015 02:05, neo futur a écrit : un grep en poupee russe, un grep pour lier tous les grep de frsag : neofutur@gabrielle ~/irclogs/freenode $ cat \#frsag.log | grep grep [...] je peu faire de meme sur des logs d autres channels si tu en veux beaucoup plus, j ai des logs irc depuis 2001 :p Et si tu à plusieurs recherches à exclure, selon le deuxième exemple (qui n’a pas de sens d'ailleurs, aucune ligne n'étant exclue) : grep -ve 'grep for' -ve 'grep on' -ve 'binaire' grep_list.txt Ou en utilisant des expressions régulières pour éviter d'avoir à chainer plusieurs -e (grep -E ou egrep) : grep -Ev 'grep (for|on)|binaire' grep_list.txt A noter également que cat fichier |cequetuveux fichier ne fonctionnera pas et que tu te retrouvera avec un fichier vide. Le 12/02/2015 02:18, neo futur a écrit : bon voila un fichier avec quelques centaines de grep: http://xena.ww7.be/grep_list.txt a toi de faire le tri je n ai fait qu un petit filtre genre cat grep_list.txt | grep -v grep for | grep -v grep on | grep -v binaire grep_list.txt ( ne pas oublier l utilite du grep -v ! ) Autant que possible, éviter de récupérer les infos sur la sortie d'outils qui traient déjà les données brutes pour les afficher de manière humainement lisible, donc plutôt que récupérer et grepper ifconfig, récupérer et traiter les infos sur /proc/net/dev (ou ailleurs en fonction de ce que l'on recherche) sera plus propre et on évitera un risque d'avoir son script qui ne fonctionne plus si ifconfig change la manière sont ses infos sont affichées ou si par exemple un changement de locale changeais l’ordre/formatage des infos alors que la sortie des fichiers dans /proc sera toujours formatée de la même manière, les potentielles nouvelles informations seront seulement rajoutées sur de nouvelles colonnes après l'existant. Le 11/02/2015 11:53, Alexis Lameire a écrit : extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Fait leur faire un script de collecte d'info système, c'est utile et ils vont en bouffer de la regexp ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
L'utilisation correcte de grep dans le cas d'une recherche dans un fichier est de passer le fichier à traiter en dernier argument. Il est rare qu'il faille utiliser cat fichier |outil ; dans la majeur partie des cas, soit l'outil accepte directement en argument de lire un fichier (comme grep, sed ou perl par exemple), soit un outil -options fichier. desole j ai appris ce genre de trucs il y a 15 ans a une epoque ou il fallait etre posix et faire en sorte que tout ca fonctionne sur un vieux solaris ou autre unix basique qui n a pas toutes les options modernes ( et souvent pas posix) des outils linux/gnu. quand a : selon le deuxième exemple (qui n’a pas de sens d'ailleurs, aucune ligne n'étant exclue) : desole mais ca m a tres bien filtre ce que je voulai filtrer. tu as raison pour l elegance, mais j aime bien faire simple et rapide, avec plein de pipe, ca ne me gene pas de faire travailler mon cpu si moi je peux glander en attendant les resultats ;) de plus je reste completment fan de la vieille philosophie unix de petites briques simples qui peuvent s imbriquer avec des pipes ;) ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Ne pas oublier de passer par la case : http://regexcrossword.com/ C'est pas la vrai vie mais c'est formateur :-) A+ Sylvain On Wed, 2015-02-11 at 08:29 +0300, Mihamina RAKOTOMANDIMBY wrote: Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/ -- ** Sylvain MAURIN - Admin.Sys. Institut des Sciences Cognitives CNRS-Université Claude Bernard Lyon 1 67, boulevard Pinel 69675 BRON cedex Tel: +33 437911214 -- Cel: +33 612399929 Mail: sylvain.mau...@isc.cnrs.fr ** smime.p7s Description: S/MIME cryptographic signature ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Le 11/02/2015 06:29, Mihamina RAKOTOMANDIMBY a écrit : Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Il doit y avoir de quoi faire dans les filter de fail2ban non ? Julien ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Hello, par exemple dans le cadre de la mise en place d’un SIEM, quand tu redirige des dizaines de flux syslog vers une unique machine dans le but de les traiter, pour faire de la simple remontée d’alertes, du thread intelligence, ou encore pour faire de la corrélation de logs… Il te faut des regex assez pointues sinon soit tu catch rien, soit tu catch n’importe quoi ou trop de choses (et donc tu pourris ta DB). Ce que je veux catcher (proxy McAfee) : Feb 10 09:20:27 Mcxxx mwg: [10/Feb/2015:09:20:10 +0100] Mcxxx Florian 10.1.1.1 188.40.1.1 secure.eicar.org 403 - 374 461 GET https://secure.eicar.org/eicar_com.zip HTTP/1.1 Information Security Minimal Risk 7 Gateway Anti-Malware/Block If Virus was Found 80 Malware found true McAfeeGW: EICAR test file false - - http://www.eicar.org/85-0-Download.html; Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Ma regex : .*(?Pdate\w{3}\s+\d{1,2}\s+\d{2}\:\d{2}\:\d{2})\s.*\s\(?Pusername.*)\\s+(?Psrc_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+(?Pdst_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+\(?Pdst_site.*)\\s\d{3}\s\.*\\s\d{1,5}\s\d{1,4}\s\(?Preq_http[A-Z]+\s+.*?)\s[A-Z]+.*Malware\s+found\.*?\(?Pvirus_desc.*?)\\s.*?\s\.*?\\s+\.*?\\s+\(?Phttp_ref.*?)\\s+\(?Pbrowser.*?)\.* Ma bible est https://www.regex101.com/, tu peux donc tester ma regex et voir ce que je récupère proprement ☺ Florian. De : FRsAG [mailto:frsag-boun...@frsag.org] De la part de Mihamina RAKOTOMANDIMBY Envoyé : mercredi 11 février 2015 06:29 À : frsag@frsag.orgmailto:frsag@frsag.org Objet : [FRsAG] cherche cas usage des regex dans la vraie vie Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Salut, Tu peux utiliser des exemples avec sed pour du rewrite, de l'ajout / suppression de contenu dans des fichiers texte. sed, c'est bien. Baptiste ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Nice one :) Le 11 février 2015 11:40, Florian Vanneroy flor...@dfi.ch a écrit : Hello, par exemple dans le cadre de la mise en place d’un SIEM, quand tu redirige des dizaines de flux syslog vers une unique machine dans le but de les traiter, pour faire de la simple remontée d’alertes, du thread intelligence, ou encore pour faire de la corrélation de logs… Il te faut des regex assez pointues sinon soit tu catch rien, soit tu catch n’importe quoi ou trop de choses (et donc tu pourris ta DB). Ce que je veux catcher (proxy McAfee) : Feb 10 09:20:27 Mcxxx mwg: [10/Feb/2015:09:20:10 +0100] Mcxxx Florian 10.1.1.1 188.40.1.1 secure.eicar.org 403 - 374 461 GET https://secure.eicar.org/eicar_com.zip HTTP/1.1 Information Security Minimal Risk 7 Gateway Anti-Malware/Block If Virus was Found 80 Malware found true McAfeeGW: EICAR test file false - - http://www.eicar.org/85-0-Download.html; Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Ma regex : .*(?Pdate\w{3}\s+\d{1,2}\s+\d{2}\:\d{2}\:\d{2})\s.*\s\(?Pusername.*)\\s+(?Psrc_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+(?Pdst_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+\(?Pdst_site.*)\\s\d{3}\s\.*\\s\d{1,5}\s\d{1,4}\s\(?Preq_http[A-Z]+\s+.*?)\s[A-Z]+.*Malware\s+found\.*?\(?Pvirus_desc.*?)\\s.*?\s\.*?\\s+\.*?\\s+\(?Phttp_ref.*?)\\s+\(?Pbrowser.*?)\.* Ma bible est https://www.regex101.com/, tu peux donc tester ma regex et voir ce que je récupère proprement J Florian. *De :* FRsAG [mailto:frsag-boun...@frsag.org frsag-boun...@frsag.org] *De la part de* Mihamina RAKOTOMANDIMBY *Envoyé :* mercredi 11 février 2015 06:29 *À :* frsag@frsag.org *Objet :* [FRsAG] cherche cas usage des regex dans la vraie vie Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
extraction d'ip depuis ifconfig, infos depuis dmidecode, ... Fait leur faire un script de collecte d'info système, c'est utile et ils vont en bouffer de la regexp Cordialement Alexis Lameire Le 11 février 2015 11:47, RegisM regis.fr...@tornad.net a écrit : Nice one :) Le 11 février 2015 11:40, Florian Vanneroy flor...@dfi.ch a écrit : Hello, par exemple dans le cadre de la mise en place d’un SIEM, quand tu redirige des dizaines de flux syslog vers une unique machine dans le but de les traiter, pour faire de la simple remontée d’alertes, du thread intelligence, ou encore pour faire de la corrélation de logs… Il te faut des regex assez pointues sinon soit tu catch rien, soit tu catch n’importe quoi ou trop de choses (et donc tu pourris ta DB). Ce que je veux catcher (proxy McAfee) : Feb 10 09:20:27 Mcxxx mwg: [10/Feb/2015:09:20:10 +0100] Mcxxx Florian 10.1.1.1 188.40.1.1 secure.eicar.org 403 - 374 461 GET https://secure.eicar.org/eicar_com.zip HTTP/1.1 Information Security Minimal Risk 7 Gateway Anti-Malware/Block If Virus was Found 80 Malware found true McAfeeGW: EICAR test file false - - http://www.eicar.org/85-0-Download.html; Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Ma regex : .*(?Pdate\w{3}\s+\d{1,2}\s+\d{2}\:\d{2}\:\d{2})\s.*\s\(?Pusername.*)\\s+(?Psrc_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+(?Pdst_ip[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+\(?Pdst_site.*)\\s\d{3}\s\.*\\s\d{1,5}\s\d{1,4}\s\(?Preq_http[A-Z]+\s+.*?)\s[A-Z]+.*Malware\s+found\.*?\(?Pvirus_desc.*?)\\s.*?\s\.*?\\s+\.*?\\s+\(?Phttp_ref.*?)\\s+\(?Pbrowser.*?)\.* Ma bible est https://www.regex101.com/, tu peux donc tester ma regex et voir ce que je récupère proprement J Florian. De : FRsAG [mailto:frsag-boun...@frsag.org] De la part de Mihamina RAKOTOMANDIMBY Envoyé : mercredi 11 février 2015 06:29 À : frsag@frsag.org Objet : [FRsAG] cherche cas usage des regex dans la vraie vie Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/ ___ Liste de diffusion du FRsAG http://www.frsag.org/
Re: [FRsAG] cherche cas usage des regex dans la vraie vie
Bonjour Mihamina, Peut-être que de jouer avec **logcheck** serait intéressant et concret (créer des règles personnalisées). Sinon en bash ma préféré, mais c'est pour un fichier de conf : Supprimer tous les commentaires ligne vide d'un fichier : grep -E -v '''^(#|$|;)''' /etc/mysql/my.cnf Sympa à mettre en alias : alias nocomment='grep -E -v '\''^(#|$|;)'\''' Très bon site pour apprendre / tester des regex : https://www.regex101.com/ Belle journée, Mihamina RAKOTOMANDIMBY mihamina.rakotomandi...@rktmb.org a écrit : Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/
[FRsAG] cherche cas usage des regex dans la vraie vie
Bonjour, Je dois faire un mini exposé sur les regex. Ca m'interesserait de pouvoir donner des exemples sur les recherches dans les logs. Je cherche donc des cas d'usage, dans lesquels il faut utiliser des regex pour trouver ce qu'on veut. Les truc du genre $grep Error access.log me semblent inutile pour ce coup là :-) du fait de la trop facilité du pattern. Le public: des sysadmins juniors *et* des devs web à qui on souhaite introduire à la recherche des erreurs dans les fichiers d'erreur (Apache, Tomcat, MySQL, PGSQL, Postfix, Exim,...) Auriez-vous des cas d'usage (bonus: avec la résolution et un sample)? Merci bien. ___ Liste de diffusion du FRsAG http://www.frsag.org/