#1 Le 15/10/2013, à 19:54
- Ph3nix_
Bash - Remplacez les n-1 premières occurences
Bonsoir,
J'aimerai remplacer les N-1 premiers caractères d'un nom de fichier par un autre caractère.
Par exemple, si je remplace les N-1 premiers caractères '.' par le caractère '', j'ai:
b.i.don.mp3 => bidon.mp3
bidon.mp3 => bidon.mp3
bidon...mp3 => bidon.mp3
bidon => bidon
Comment faire cela ?
Merci d'avance pour votre aide
Dernière modification par Ph3nix_ (Le 15/10/2013, à 19:56)
Hiroshima 45 / Chernobyl 86 / Windows '95
Hors ligne
#2 Le 15/10/2013, à 20:30
- Watael
Re : Bash - Remplacez les n-1 premières occurences
salut,
avec le Remplacement des paramètres, ne retenir que l'extension (la partie après le dernier point), et enlever tous les points du nom proprement dit avec l'aide d'une variable temporaire.
un problème pourrait survenir avec bi.don (qui n'a pas d'extension)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 15/10/2013, à 20:33
- pingouinux
Re : Bash - Remplacez les n-1 premières occurences
Bonsoir,
Voici une suggestion :
for nom in "b.i.don.mp3" "bidon.mp3" "bidon...mp3" "bidon"
do
deb="${nom%.*}"
fin=".${nom##*.}"
[ ".$nom" = "$fin" ] && fin=
nouveau_nom="${deb//./}$fin"
echo "$nom => $nouveau_nom"
done
Ce qui donne :
b.i.don.mp3 => bidon.mp3
bidon.mp3 => bidon.mp3
bidon...mp3 => bidon.mp3
bidon => bidon
Hors ligne