enlever espaces des noms de fichiers - Shell/Batch - Programmation
Marsh Posté le 02-05-2011 à 11:38:37
inutile de chercher plus, j'ai trouvé tout seul (à force d'essayer toutes les possibilités). Il y avait 2 problèmes in fine. La réponse est donc :
mv "$ficname" `echo $ficname | tr -d '[:space:]'`
Merci moi-même
Marsh Posté le 27-04-2011 à 18:18:42
Bonjour
j'ai une grande série de fichiers qui se terminent par .txt
Je souhaite enlever tous les espaces de leurs noms (eh oui, bcp d’utilisateurs sous Windows sont encore inconscients)
Avant, sous un certain linux dont je me rappelle pas, j'écrivais un fichier exécutable ainsi :
#!/bin/csh
foreach ficname (*.txt)
mv $ficname `echo $ficname | tr -d [:space:]`
end
Mtnt, avec le linux redhat 4, ça ne marche plus. Apparemment il lit plusieurs fichiers pour le mv (les différentes parties du premier $ficname sont pour lui plusieurs fichiers)
Il faudrait rajouter des simple quotes dans le script (genre 'image toto.txt'), mais rien n'y fait ... En fait je ne maitrise pas la concaténation de chaine de caractères avec des chaines-constantes (') et des variables ($ficname) sous le shell.
Qq pourrait il m'aider ?
Merci
Message édité par Zik22 le 28-04-2011 à 10:04:41