A voir également:
- Enlever les accents python
- Script vidéo youtube - Guide
- Caractères ascii - Guide
- Forcer suppression fichier - Guide
- Caractères spéciaux symboles clavier - Guide
- Caractères spéciaux - Guide
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
9 oct. 2007 à 20:36
9 oct. 2007 à 20:36
Méthode avec "sed" :
[lol]$ ls -1 bîbïBÔö.txt ÇàVÀ.txt GÉGÉ.txt màmÀ.txt mémé.txt ùlûlü.txt [lol]$ for i in $(ls *.txt);do mv ${i} $(echo "$i" |sed 'y/àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ/aceeeeiioouuuACEEEEIIOOUUU/');done [lol]$ ls -1 bibiBOo.txt CaVA.txt GEGE.txt mamA.txt meme.txt ululu.txt [lol]$Méthode avec "tr" :
[lol]$ ls -1 bîbïBÔö.txt ÇàVÀ.txt GÉGÉ.txt màmÀ.txt mémé.txt ùlûlü.txt [lol]$ for i in $(ls *.txt);do mv ${i} $(echo "$i" |tr 'àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ' 'aceeeeiioouuuACEEEEIIOOUUU');done [lol]$ ls -1 bibiBOo.txt CaVA.txt GEGE.txt mamA.txt meme.txt ululu.txt [lol]$;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
8 oct. 2007 à 23:34
8 oct. 2007 à 23:34
Salut,
Tu peux faire ça soit avec la commande "tr" soit avec "sed" :
;-))
Tu peux faire ça soit avec la commande "tr" soit avec "sed" :
tr 'àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ' 'aceeeeiioouuuACEEEEIIOOUUU' sed 'y/àçéèëêïîöôùüûÀÇÉÈËÊÏÎÖÔÙÜÛ/aceeeeiioouuuACEEEEIIOOUUU/'Libre à toi d'adapter l'une ou l'autre dans ton script...
;-))
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
9 oct. 2007 à 10:21
9 oct. 2007 à 10:21
hello
il y a les commandes dos2unix et unix2dos
il y a les commandes dos2unix et unix2dos
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
9 oct. 2007 à 10:37
9 oct. 2007 à 10:37
Salut dubcek,
Euh... t'es sûr que ces 2 commandes convertissent les caractères accentués ?
;-))
Euh... t'es sûr que ces 2 commandes convertissent les caractères accentués ?
;-))
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
9 oct. 2007 à 15:14
9 oct. 2007 à 15:14
The dos2unix utility converts characters in the DOS extended character set to the corresponding ISO standard characters
je ne peux pas tester, mais je crois me souivenir que oui, bien que la queston du sujet soit "supprimmer" et pas convertir
je ne peux pas tester, mais je crois me souivenir que oui, bien que la queston du sujet soit "supprimmer" et pas convertir
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour ces réponses ;)
pour les commandes "tr" et "sed", jai essayé mais ca n'a pas l'air de marcher (je perds l'invite, ca clignote puis rien)
(J'ai essayé à la fois en passant directement la commande dans une fenêtre terminal et dans un script).
Aurais-je loupé un étage ?
pour les commandes "tr" et "sed", jai essayé mais ca n'a pas l'air de marcher (je perds l'invite, ca clignote puis rien)
(J'ai essayé à la fois en passant directement la commande dans une fenêtre terminal et dans un script).
Aurais-je loupé un étage ?
Bonjour,
J'ai rédigé rapidement le script ci-dessous mais il ne marche pas avec des nom de fichiers qui ont des espaces. Avez-vous une idée comment l'améliorer ? Le problème est dans le
J'ai rédigé rapidement le script ci-dessous mais il ne marche pas avec des nom de fichiers qui ont des espaces. Avez-vous une idée comment l'améliorer ? Le problème est dans le
for i in $(ls $nom_rep/)où le i prend chacun des mots qui forment le nom d'un fichier qui contient des espaces au lieu de prendre le nom entier. J'ai mis la commande et le nom entre double-cotes, ça s'est amélioré un peu, mais le pb persiste !
echo "Ce script remplace les caractères accentués des noms des fichiers d'un repertoire donné par des caractères non accentués." read -p 'Nom du rep (incluant le chemin) : ' nom_rep echo "Le nom du rep donné est : $nom_rep" if [ ! -e $nom_rep ]; then echo "Rep n'existe pas" else if [ -d $nom_rep ]; then for i in $(ls $nom_rep/) do echo " tentative of renaming (mouving) of the file $i" mv $nom_rep/${i} $nom_rep/$(echo $i |sed 'y/ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ/aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby/') done else if [ -f $nom_rep ]; then echo "Vous avez tapé le nom d'un fichier et nom pas d'un rep" fi fi fi
6 janv. 2011 à 11:47
Le savoir est la seule ressource qui s'accroit lorsqu'on la partage
22 nov. 2013 à 15:05
J'ai rédigé rapidement le script ci-dessous mais il ne marche pas avec des nom de fichiers qui ont des espaces. Avez-vous une idée comment l'améliorer ? Le problème est dans le où le i prend chacun des mots qui forment le nom d'un fichier qui contient des espaces au lieu de prendre le nom entier. J'ai mis la commande et le nom entre double-cotes, ça s'est amélioré un peu, mais le pb persiste !
22 nov. 2013 à 15:10
Ben forcément, on ne boucle jamais sur la sortie de la commande ;-(
23 nov. 2013 à 23:00
Oui, je n'ai pas bien vu. J'ai mis 2 fois le $. C'était lors des tests.
Sinon, je l'ai changé en comme ceci:
Cette fois-ci ça marche car dans la ligne correspondant à la commande mv, j'ai mis mes variables de fichier source et fichier destination entre double-quottes.
Merci pour votre aide.