Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2007, 21h51   #1
Membre du Club
 
Inscription : décembre 2005
Messages : 112
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 112
Points : 41
Points : 41
Par défaut extraire une chaine d'une autre chaine

bonjour,
je dois traiter un fichier log, donc je dois extraire des URL qui font partie des lignes de mon fichier log!
je ne trouve pas la commande qui va me permettre d'avoir ces lignes (url)!

les lignes du fichier log sont du type:
Citation:
bla bla bla bla bla bla bla bla [http:\\blablablablabla\blablablabla\encoreblabla\user=99999999]: bla bla bla

je veux constuire un fichier qui va contenir que les URL :

http:\\blablablablabla\blablablabla\encoreblabla\user=99999999
miagomiago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 07h56   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
une methode
Code :
cat fichierlog | cut -d"[" -f2 | cut -d"]" -f1 > /tmp/resultat.txt
sinon utilises sed
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 11h02   #3
Membre Expert
 
Avatar de becket
 
Frédéric Brugmans
Informaticien multitâche
Inscription : février 2005
Messages : 661
Détails du profil
Informations personnelles :
Nom : Frédéric Brugmans

Informations professionnelles :
Activité : Informaticien multitâche

Informations forums :
Inscription : février 2005
Messages : 661
Points : 1 196
Points : 1 196
Code :
cat fichier  | sed  -e  's/[^\[]*\[\(http[^]]*\)\].*/\1/g'
becket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 12h06   #4
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Code :
grep -o 'http:\\[^]]*' fichier
Elles ont une drôle de forme tes url avec les backslashes!
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 15h14   #5
Membre du Club
 
Inscription : décembre 2005
Messages : 112
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 112
Points : 41
Points : 41
merci bcp
je vais analyser les 3 solutions
si j'aurias des questions je reviendrais.
merci
miagomiago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 15h34   #6
Membre du Club
 
Inscription : décembre 2005
Messages : 112
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 112
Points : 41
Points : 41
excuse moi ripat mais je ne trouve pas l'option -o ds grep !

http://bama.ua.edu/cgi-bin/man-cgi?grep+1
qu'est ce que ca fait ??
merci
miagomiago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 16h31   #7
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Cette option ne retourne vers stdout que les match du motif. Pas la ligne complète.

Apparemment l'option ne semble disponible que dans la version GNU de grep.
http://www.gnu.org/software/grep/doc/grep_2.html#SEC2

Il te reste la solution sed de becket.
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h44.


 
 
 
 
Partenaires

Hébergement Web