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
>