j'ai un fichier sous la forme de : ./donnees/.X.conf
- comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
resultat souhaité : /donnees/.X.conf
et un autre fichier sous la forme de : ./donnees/./conf/.X.conf
comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
et avant /conf/.X.conf
resultat souhaité : /donnees/conf/.X.conf
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Bonjour,
j'ai un fichier sous la forme de : ./donnees/.X.conf - comment supprimer le premier carractere cad '.' avant /donnees/.X.conf resultat souhaité : /donnees/.X.conf et un autre fichier sous la forme de : ./donnees/./conf/.X.conf comment supprimer le premier carractere cad '.' avant /donnees/.X.conf et avant /conf/.X.conf resultat souhaité : /donnees/conf/.X.conf
merci d'avance
filename=./donnees/./conf/.X.conf echo $filename | sed -e 's/^.//' -e 's_/./_/_g'
NB : dans la 2ème expression c'est le _ qui est utilisé comme séparateur pour éviter les /
A+ Fred
Bonjour,
j'ai un fichier sous la forme de : ./donnees/.X.conf
- comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
resultat souhaité : /donnees/.X.conf
et un autre fichier sous la forme de : ./donnees/./conf/.X.conf
comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
et avant /conf/.X.conf
resultat souhaité : /donnees/conf/.X.conf
merci d'avance
filename=./donnees/./conf/.X.conf
echo $filename | sed -e 's/^.//' -e 's_/./_/_g'
NB : dans la 2ème expression c'est le _ qui est utilisé comme séparateur
pour éviter les /
j'ai un fichier sous la forme de : ./donnees/.X.conf - comment supprimer le premier carractere cad '.' avant /donnees/.X.conf resultat souhaité : /donnees/.X.conf et un autre fichier sous la forme de : ./donnees/./conf/.X.conf comment supprimer le premier carractere cad '.' avant /donnees/.X.conf et avant /conf/.X.conf resultat souhaité : /donnees/conf/.X.conf
merci d'avance
filename=./donnees/./conf/.X.conf echo $filename | sed -e 's/^.//' -e 's_/./_/_g'
NB : dans la 2ème expression c'est le _ qui est utilisé comme séparateur pour éviter les /
A+ Fred
Pascal Bourguignon
fr writes:
Bonjour,
j'ai un fichier sous la forme de : ./donnees/.X.conf - comment supprimer le premier carractere cad '.' avant /donnees/.X.conf resultat souhaité : /donnees/.X.conf et un autre fichier sous la forme de : ./donnees/./conf/.X.conf comment supprimer le premier carractere cad '.' avant /donnees/.X.conf et avant /conf/.X.conf resultat souhaité : /donnees/conf/.X.conf
On peut le faire brutalement, avec sed:
nouveau="$(echo "$nom" | sed -e 's-^./-/' -e 's-/./-/-g')"
On peut aussi le faire avec bash:
nouveau="${nom///.///}" ; nouveau="${nouveau#.}"
ce qui est plus économe.
Parfois, on peut vouloir ruser avec le file system:
cd "$(dirname "$nom")" nouvdir="$(pwd)" nouvnom="$nouvdir/$(basename "$nom")"
Mais ça ne marche que si le chemin existe et est accessible...
-- __Pascal Bourguignon__ http://www.informatimago.com/ Litter box not here. You must have moved it again. I'll poop in the sink.
fr <fr@fr.fr> writes:
Bonjour,
j'ai un fichier sous la forme de : ./donnees/.X.conf
- comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
resultat souhaité : /donnees/.X.conf
et un autre fichier sous la forme de : ./donnees/./conf/.X.conf
comment supprimer le premier carractere cad '.' avant /donnees/.X.conf
et avant /conf/.X.conf
resultat souhaité : /donnees/conf/.X.conf
On peut le faire brutalement, avec sed:
nouveau="$(echo "$nom" | sed -e 's-^./-/' -e 's-/./-/-g')"
On peut aussi le faire avec bash:
nouveau="${nom///.///}" ; nouveau="${nouveau#.}"
ce qui est plus économe.
Parfois, on peut vouloir ruser avec le file system:
cd "$(dirname "$nom")"
nouvdir="$(pwd)"
nouvnom="$nouvdir/$(basename "$nom")"
Mais ça ne marche que si le chemin existe et est accessible...
--
__Pascal Bourguignon__ http://www.informatimago.com/
Litter box not here.
You must have moved it again.
I'll poop in the sink.
j'ai un fichier sous la forme de : ./donnees/.X.conf - comment supprimer le premier carractere cad '.' avant /donnees/.X.conf resultat souhaité : /donnees/.X.conf et un autre fichier sous la forme de : ./donnees/./conf/.X.conf comment supprimer le premier carractere cad '.' avant /donnees/.X.conf et avant /conf/.X.conf resultat souhaité : /donnees/conf/.X.conf
On peut le faire brutalement, avec sed:
nouveau="$(echo "$nom" | sed -e 's-^./-/' -e 's-/./-/-g')"
On peut aussi le faire avec bash:
nouveau="${nom///.///}" ; nouveau="${nouveau#.}"
ce qui est plus économe.
Parfois, on peut vouloir ruser avec le file system:
cd "$(dirname "$nom")" nouvdir="$(pwd)" nouvnom="$nouvdir/$(basename "$nom")"
Mais ça ne marche que si le chemin existe et est accessible...
-- __Pascal Bourguignon__ http://www.informatimago.com/ Litter box not here. You must have moved it again. I'll poop in the sink.
gregg
Pascal Bourguignon wrote:
On peut le faire brutalement, avec sed:
nouveau="$(echo "$nom" | sed -e 's-^./-/' -e 's-/./-/-g')"
C'est une deuxième proposition avec sed. J'avais tout d'abord pensé à: