Re: Expression reguliere

Top Page

Reply to this message
Author: Raphaël Dorado
Date:  
To: guilde
Subject: Re: Expression reguliere

Ma version (çà à piqué ma curiosité) :

sed "s/^\$VERSION = '\(.*\)';/\1/;q" ~/Spectroscopy/Absor_satur/lib/Absor_satur.pm

Une seule expression pour extraire l'info en évitant des lignes commentées, et
le ';q' pour s'arrêter après avoir trouvé la première occurrence (gros fichiers).

--Raf

Le 24/03/2018 à 11:42, Olivier Allard-Jacquin a écrit :
>     Bonjour

>
> Le 23/03/2018 à 19:43, Patrick Dupre a écrit :
>> Bonsoir,
>>
>> Je voulais extraire 1.25 de la ligne suivante
>> $VERSION = '1.25';
>>
>> grep "VERSION =" ~/Spectroscopy/Absor_satur/lib/Absor_satur.pm |grep -o "'.*'"
>> me donne
>> '1.25'
>>
>> J'y suis presque. Comment je peux juste avoir 1.25
>> sans les "'" ?
>
> sed -e '/\$VERSION/!d' -e "s/.*'\([^']*\)'.*/\1/g" |
> ~/Spectroscopy/Absor_satur/lib/Absor_satur.pm
>
>     Le 1er '-e' filtre les lignes contenant "$VERSION"
>     Le 2nd '-e' extrait les données contenues entre deux "'"

>
>     Cordialement,

>
>                             Olivier

>