Extraire un nom de repertoire
Résolu
mickey4
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
bonjours
je recupere un nom de fichier suivant
rep1/rep2/../repn/nom-du-fichier
jaimerais savoir comment faire pour extraire seulement les chemins /rep1/rep2/../repn
le nombre de repertoire a traverser n'étant pas constant
merci
je recupere un nom de fichier suivant
rep1/rep2/../repn/nom-du-fichier
jaimerais savoir comment faire pour extraire seulement les chemins /rep1/rep2/../repn
le nombre de repertoire a traverser n'étant pas constant
merci
A voir également:
- Extraire un nom de repertoire
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire image pdf - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Nom de l'adresse ✓ - Forum Loisirs / Divertissements
5 réponses
Par exemple comme ceci :
echo "rep1/rep2/../repn/nom-du-fichier" | sed "s/\(.*\?\/\)[^\/]*/\1/"
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
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 ;-))
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