Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3808 connectés 

 


Dernière réponse
Sujet : sed 's/\-[0-9]*.*[0-9]*$//' < à corriger...
Pillow "une fois ou plus" <=> "+" (qu'il faut échapper).
 
$ echo "xvidcore_1.1.0-final-0.0"  | sed 's/-[0-9]\+\.\{0,1\}[0-9]\+$//

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pillow "une fois ou plus" <=> "+" (qu'il faut échapper).
 
$ echo "xvidcore_1.1.0-final-0.0"  | sed 's/-[0-9]\+\.\{0,1\}[0-9]\+$//
M300A Je viens de voir ta réponse pillow  
 
Merci :jap:
 
Je vais corriger ca :)
M300A J'ai rien en echappant le . ca a l'air de fonctionner :p
 
Par contre on doit comme pouvoir la rendre plus propre mon expression...
 
Y'a t'il des meta caractère qui exprime une seul fois, et une fois ou plus ? Parce que la je n'utilise que des *, ca me parait pas optimal !
Pillow Le - n'a pas besoin d'être échappé.
Le point doit être échappé si tu veux un point littéral.
"éventuellement un point", c'est {0,1}, et pas *.
 

$ echo "xvidcore_1.1.0-final-0.0"  | sed 's/-[0-9]*\.\{0,1\}[0-9]*$//'
xvidcore_1.1.0-final

M300A

gandalf@hellscream:/ripp/pbuilder/scripts$ echo "xvidcore_1.1.0-final-0.0" | sed 's/\-[0-9]*.*[0-9]*$//'
xvidcore_1.1.0


 
Alors que j'attend "xvidcore_1.1.0-final" comme retour :)

M300A Ca n'a pas l'air, en tout cas pas sur cette exemple : xvidcore_1.1.0-final-0.0
Tomate \. ça fonctionne pas ?
M300A J'ai testé ca passe pas :(
Fork Bomb Euh.... echapper le caratctere ? (j'Y connais rien en scripting, donc, je dis peut-etre une c*nnerie)
M300A Seul le sed à besoin d'être compris et j'ai expliquer le motif que je cherche à supprimer ;)
bon, ben si tu es le seul a comprendre... on va pas chercher...
M300A :hello:
 
J'ai un petit probleme de regexp :
J'ai ecris cette ligne dans un script (ne cherchez pas à comprendre je suis le seul à savoir ce que ca fait :p).
 
mv ${BASE_DIR}/results/${DISTRIBUTION}/`echo ${BASEPKGNAME} | sed 's/\-[0-9]*.*[0-9]*$//'`.orig.tar.gz ${BASE_DIR}/repo/${DISTRIB}/dists/${DISTRIBUTION}/main/source/
 
Le but de cette regexp est de supprimer un motif du genre tiret+nb_qqc_de_chiffres+_eventuellement_un_point+_eventuellement_un_nb_qqc_de_chiffres+fin de ligne
 
L'ennuie c'est que le . est interpreté comme "nimporte quel charactère" et je suis finalement tombé sur un cas qui plante ma regexp :(
 
Pourriez vous m'aider à la corriger ?
 
Merci d'avance :jap:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)