Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Problème avec egrep

tlep, le mercredi 3 septembre 2008 à 12:29:13
Bonjour,

J'ai un fichier type :

require_once '/home/lib/common/Mysql.class.php';
require_once ("/home/lib/machin.php"); //c'est bien
require_once '/home/lib/histoclient/Historisation.class.php';
require_once '/home/ws/site/WS_FORFAIT/FORFAIT_CLASS/conf_forfait.php';
include_once ("/home/lib/machintruc.php"); //c'est pas bien
echo "bonjour";

Je veux faire un egrep dessus afin de récupérer les valeurs concernées par le contenu des includes ou require.
J'ai essayé :

Pour commencer :

egrep -o "require|include:space:*.*.php" mon.fichier.txt

Mais egrep ne me renvoie que les includes :

include_once ("/home/lib/machintruc.php

Inversement, si j'essaie :

egrep -o "include|require:space:*.*.php" mon.fichier.txt

Il ne me renvoie que les require.

Pourtant, le pipe correspond bien au motif "OU" ?

Merci :-)
Configuration: Windows XP
Firefox 3.0
Répondre à tlep  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 12:33:45
Salut,
egrep -o "(require|include)[ [:space:]]*.*.php"
Sans l'espace entre les 2 crochets ouvrants ;-))
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tlep, le mercredi 3 septembre 2008 à 13:57:24
Merci :-))

Et pour le sed, les parenthèses ne marchent pas ?

J'ai testé :

egrep -o "(require|include):space:*.*.php" /tmp/checkIncludes.sh.tmp|sed "s#['(\"]*##g"|sed "s#(require|include|require_once|include_once)##g"

Mais ca ne marche po :-|
Répondre à tlep

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 14:00:48
Tu veux faire quoi exactement ?
Virer les require, include, _once, ainsi que les parenthèses, quotes simples et doubles ?
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tlep, le mercredi 3 septembre 2008 à 14:03:42
oui, juste récupérer les chemins et noms des fichiers concernés par les includes.

Ca donnerait un truc comme :

/home/lib/common/Mysql.class.php
/home/lib/machin.php
/home/lib/histoclient/Historisation.class.php
/home/ws/site/WS_FORFAIT/FORFAIT_CLASS/conf_forfait.php
/home/lib/machintruc.php
Répondre à tlep

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 14:06:53
egrep -o "(require|include)[ [:space:]]*.*.php" tlep | sed "s/.*['\(\"]//"
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tlep, le mercredi 3 septembre 2008 à 14:13:24
Ah j'ai compris:

sed remplace par rien tout ce qui va jusqu'à soit quote, soit double quote, soit parenthèse.

Il existe à tout hasard la possibilité (dans sed) d'utiliser le "OU" avec les parenthèses comme ci-dessus avec egrep ?
Répondre à tlep

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 14:20:48
Oui, c'est pareil en fait, mais faut échapper le pipe :
egrep -o "(require|include)[ [:space:]]*.*.php" tlep | sed "s/.*'\|(\|\"//"
mais dans le cas où il faut prendre en compte 2 alternatives, une parenthèse ET un guillemet double, ça marche pas ;-((
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
asevere, le mercredi 3 septembre 2008 à 14:29:47
Salut vous deux:

Est-ca, sans le egrep ça suffit pas ?
sed -r -n "s/^(require|include)(_once)?[ [:space:]]*\(?[\"']([^\"']*)[\"']\)?.*/\3/p" tlep

Une belette, un lapin !?
C'est pas normal!
Répondre à asevere

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 14:34:21
Aussi, mais j'ai pris les questions et les demandes dans l'ordre môa ;-))

T'as un blème dans ton space ;-))

Puisque t'es là et que tu l'as vu, tu peux faire en sorte qu'on ne soit pas obligé de rajouter des espaces à tout va avec le shell, s'il te plaît Môssieur Sévère A. Merchi beaucoup ;-))
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
asevere, le mercredi 3 septembre 2008 à 14:36:09
Ben là tout de suite, non, mais j'y penserais... y'a a mon avis pas de raison d'interpreter quoi que ce soit entre < code> et < /code> sauf éventuellement <gras><souligne><ital>....
Une belette, un lapin !?
C'est pas normal!
Répondre à asevere

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 3 septembre 2008 à 14:37:41
Si les liens ;-(( Et c'est ça qui fiche la pagaille...
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
asevere, le mercredi 3 septembre 2008 à 14:39:28
Si les liens ;-(( Et c'est ça qui fiche la pagaille...

Là oui, mais y'a une raison pour que ça reste comme ça ? (même le gras/ital/souligne en fait, ça devrait pas être pris en compte)
Une belette, un lapin !?
C'est pas normal!
Répondre à asevere

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 jipicy, le mercredi 3 septembre 2008 à 14:42:49
On en avait déjà causé je sais plus où, mais faudrait implémenter une reconnaissance syntaxique comme sur les paste.bin... faudrait ;-))
$ man woman
Il n'y a pas de page de manuel pour woman.
Répondre à jipicy

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tlep, le mercredi 3 septembre 2008 à 14:40:10
merci les gars :-)
Répondre à tlep

Résultats pour Problème avec egrep

Egrep & ET logique (Résolu) Bonjour, Je suis à la recherche d'une solution toute simple pour faire un egrep avec expression contenant un ET. example echo "coucou---------test" | egrep -e "coucou&test" ---> coucou---------test Cela marche bien avec un OU logique symbolisé... www.commentcamarche.net/forum/affich-8131638-egrep-et-logique
Egrep avec cut (linux) (Résolu) Bonjour, j'ai un petit soucis avec les commandes egrep et cut en faite, ca doit etre tout simple, j'ai un fichier de log qui contient 2 jours dessus et je veux garder seulement celui que j'ai en variable 'NOW1'. le truc... www.commentcamarche.net/forum/affich-9076202-egrep-avec-cut-linux
Pc en danger?rkhunter (Résolu) Bonjour, Je viens de faire l'anti-rootkit rkhunter. D'après vous mon ordinateur est-il en danger au vu des résultats ci-joints? 17:32:38] /bin/egrep [ Warning ] [17:32:38] Warning: The command '/bin/egrep' has been replaced by a... www.commentcamarche.net/forum/affich-3647160-pc-en-danger-rkhunter

Résultats pour Problème avec egrep

[Bash] Afficher un fichier sans les lignes de commentairesIl est parfois utile d'afficher un fichier sans pour autant afficher la myriade de lignes de commentaire l'accompagnant (en particulier pour les fichiers de configuration de notre OS préféré ;-) ), ainsi qu'en le délestant de ses lignes... www.commentcamarche.net/faq/sujet-3027-bash-afficher-un-fichier-sans-les-lignes-de-commentaires

Résultats pour Problème avec egrep

Pb expresion regulieres (Résolu)Bonjour, Je ne comprend pas pourquoi l'expression reguliere / \ < \ / . * / (les espaces ne sont la que pur faciliter la lecture) n'est pas prise en compte alors que celle ci / \ / . * / l'est pour un "egrep" sur un fichier contenant la... www.commentcamarche.net/forum/affich-5672499-pb-expresion-regulieres
Connaître la volumétrie util des serveurs (Résolu)Bonjour, J'aimerai savoir comment puisje faire pour récupérer la volumétrie utilisée des serveurs de l'ensemble de mon parc informatique. Je sais que pour cela je peux utiliser la commande suivante: df -h | egrep /dev | awk '{print... www.commentcamarche.net/forum/affich-3150273-connaitre-la-volumetrie-util-des-serveurs
Commande grep ou egrep solution (Résolu)Bonjour, J'aimerais retrouver a laide de la commande grep seulement toutes les infos used et soft pourriez vous m'aider à établir la commande merci (juste le premier used et soft ) voila le fichier que je veut greper : User used soft hard... www.commentcamarche.net/forum/affich-4590354-commande-grep-ou-egrep-solution