Supprimer / remplacer des caracteres dans un nom de fichier
Bonsoir à tous,
je cherche un moyen de remplacer les espaces dans un nom de fichier musical .ogg
en fait, lors de la conversion du fichier .cda je me retrouve avec un nom très long composé d'espace et de lettres accentuées !!
je voudrais remplacer 'espace par '_' et 'è' et 'é' par 'e' ...
quand il y a un ou deux fichier ça va, mais sur la totalité d'un CD c'est long à remplacer ...
je ne connais pas les fonctions du type "sed" ou "grep", peut-on faire ça avec ce type de fonctions ??
merci d'avance
remplacer caracteres dans nom de fichier ...
et comme ça ??
Code:
1 2 3 4 5 6 7 8 9 10
|
# remplace tous les espaces (10) par le souligné
k=$file
for ((i=0;i<=9;i++)); do
k=`echo $k | sed -s 's/ /_/'`
done
# extrait le nom du fichier
FICH=`basename ${k} .mp3`
echo $FICH |
cela permet déjà de recuperer le nom du fichier seul sous la forme
Citation:
mon_nom_de_fichier_qui_est_tres_long
si qq à mieux je suis preneur
merci de votre contribution
pourquoi tant de haine ??
j'ai essayé en mode console
Code:
1 2 3 4 5 6 7 8
|
[root@fedora ~]# k=" éè"
[root@fedora ~]# echo "$k"
éè
[root@fedora ~]# k=`echo "$k" | tr éè[:blank:] ee_`
[root@fedora ~]# echo "$k"
__e__
[root@fedora ~]# |
comprends pas ??
Re: pourquoi tant de haine ??
Citation:
Envoyé par quadra38
j'ai essayé en mode console
Code:
1 2 3 4 5 6 7 8
|
[root@fedora ~]# k=" éè"
[root@fedora ~]# echo "$k"
éè
[root@fedora ~]# k=`echo "$k" | tr éè[:blank:] ee_`
[root@fedora ~]# echo "$k"
__e__
[root@fedora ~]# |
comprends pas ??
voici la sortie que j'ai :
Citation:
yves@debian:~$ k=" éè"
yves@debian:~$ echo "$k"
éè
yves@debian:~$ echo "-- $k --"
-- éè --
yves@debian:~$ k=`echo "$k" | tr éè[:blank:] ee_`
yves@debian:~$ echo "-- $k --"
-- _ee --
donc chez moi ça marche bien....