Extraire un nom de repertoire
Résolu/Fermé
mickey4
Messages postés
39
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
22 juin 2009
-
8 juin 2007 à 16:15
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 8 juin 2007 à 18:53
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 8 juin 2007 à 18:53
A voir également:
- Extraire un nom de repertoire
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Téléchargez cette image pour trouver le nom du fichier. il correspond au nom de cette loutre. comment s'appelle-t-elle ? - Forum Windows
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Nom de l'adresse ✓ - Forum Réseaux sociaux
5 réponses
blux
Messages postés
26503
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 décembre 2024
3 317
8 juin 2007 à 16:18
8 juin 2007 à 16:18
Salut,
avec quel 'langage' :
shell ou autre ?
avec quel 'langage' :
shell ou autre ?
Jean-François Pillou
Messages postés
18301
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 274
8 juin 2007 à 16:18
8 juin 2007 à 16:18
Par exemple comme ceci :
echo "rep1/rep2/../repn/nom-du-fichier" | sed "s/\(.*\?\/\)[^\/]*/\1/"
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
8 juin 2007 à 16:27
8 juin 2007 à 16:27
Salut,
pour la regex on peu recuperer tout simplement tout jusqu'au dernier / (bon je n'ai pas teste mais je crois que ça marche comme ça :-))
pour la regex on peu recuperer tout simplement tout jusqu'au dernier / (bon je n'ai pas teste mais je crois que ça marche comme ça :-))
echo "rep1/rep2/../repn/nom-du-fichier" | sed "s/(\.*)\//\1/"
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
8 juin 2007 à 16:43
8 juin 2007 à 16:43
Salut,
Plutôt :
Plutôt :
echo "rep1/rep2/../repn/nom-du-fichier" | sed -r "s#(.*/).*#\1#";-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
8 juin 2007 à 16:46
8 juin 2007 à 16:46
Salut,
jaimerais savoir comment faire pour extraire seulement les chemins /rep1/rep2/../repn
d'après ça demande il ne voulais pas le / à la fin
(.*/)
donc, il ne faut pas le capturer :-))
"s#(.*)/#\1#"
et tu n'as pas besoin de .* à la fin, c'est une consommation de texte sans justification
tu commences à devenir gourmand toi :-))
et tu te rappelles que -r ne marche pas tout le temps :-)) question de version sed
jaimerais savoir comment faire pour extraire seulement les chemins /rep1/rep2/../repn
d'après ça demande il ne voulais pas le / à la fin
(.*/)
donc, il ne faut pas le capturer :-))
"s#(.*)/#\1#"
et tu n'as pas besoin de .* à la fin, c'est une consommation de texte sans justification
tu commences à devenir gourmand toi :-))
et tu te rappelles que -r ne marche pas tout le temps :-)) question de version sed
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
8 juin 2007 à 16:57
8 juin 2007 à 16:57
donc, il ne faut pas le capturer :-))
"s#(.*)/#\1#"
et tu n'as pas besoin de .* à la fin, c'est une consommation de texte sans justification
et tu te rappelles que -r ne marche pas tout le temps :-)) question de version sed
Je n'ai fait que reprendre ta regex où tu n'avais certe pas mis le switch "-r", mais comme tu n'avais pas protégé les accolades, j'en ai déduit que tu avais juste oublié le switch ;-))
"s#(.*)/#\1#"
echo "rep1/rep2/../repn/nom-du-fichier" | sed -r "s#(.*)/#\1#" rep1/rep2/../repnnom-du-fichierVoilà le résultat de ta regex.
et tu n'as pas besoin de .* à la fin, c'est une consommation de texte sans justification
echo "rep1/rep2/../repn/nom-du-fichier" | sed -r "s#(.*/)#\1#" rep1/rep2/../repn/nom-du-fichierCa foire ;-))
et tu te rappelles que -r ne marche pas tout le temps :-)) question de version sed
Je n'ai fait que reprendre ta regex où tu n'avais certe pas mis le switch "-r", mais comme tu n'avais pas protégé les accolades, j'en ai déduit que tu avais juste oublié le switch ;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
8 juin 2007 à 17:01
8 juin 2007 à 17:01
(bon je n'ai pas teste mais je crois que ça marche comme ça :-))
alors tu n'as pas vu ça
je vais voir à la maison dès que j'arrive
moi aussi j'ai pris la regex de Jeff, je voulais tout simplement le charrier un peu :-))
alors tu n'as pas vu ça
je vais voir à la maison dès que j'arrive
moi aussi j'ai pris la regex de Jeff, je voulais tout simplement le charrier un peu :-))
mickey4
Messages postés
39
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
22 juin 2009
3
8 juin 2007 à 16:22
8 juin 2007 à 16:22
le language est shell bash
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
8 juin 2007 à 16:24
8 juin 2007 à 16:24
Salut,
la commande dirname n'est pas suffisante?
la commande dirname n'est pas suffisante?
DIR=$(dirname rep1/rep2/../repn/nom-du-fichier) echo $DIR
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mickey4
Messages postés
39
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
22 juin 2009
3
8 juin 2007 à 16:24
8 juin 2007 à 16:24
sa marche merci