enlever espaces des noms de fichiers

enlever espaces des noms de fichiers - Shell/Batch - Programmation

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
Reply

Marsh Posté le 27-04-2011 à 18:18:42   

Reply

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   :jap:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed