Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile

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) sad


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