script de remplacement des noms de fichier/dossier

script de remplacement des noms de fichier/dossier - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 23-11-2004 à 18:04:49    

bonjour,
 
dans mes nombreux rep de photos perso, il y a des rep qui ont un nom contenant un/des espace(s).
 
je voudrais faire un script bash qui les renome (mv) en remplacant les " " par des "_" (sed).
 
le probleme c'est que quand je fais un 'find' par exemple dans une boucle 'for', chaque occurence est coupée en deux des qu'il y a un espace...
 
y aurait il une astuce ? (surement ;))
 
merci


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 23-11-2004 à 18:04:49   

Reply

Marsh Posté le 23-11-2004 à 18:14:16    

Tu dois protéger ton espace sinon il est insterpreté par le shell.

Reply

Marsh Posté le 23-11-2004 à 18:20:15    

et avec rename ?

Reply

Marsh Posté le 23-11-2004 à 18:25:19    

hellice a écrit :

Tu dois protéger ton espace sinon il est insterpreté par le shell.


 
comment ? :heink:


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 23-11-2004 à 18:29:08    


 
fait voir ton script déjà :o

Reply

Marsh Posté le 23-11-2004 à 18:32:11    

en mettant des "

Reply

Marsh Posté le 23-11-2004 à 18:45:36    

Code :
  1. for nom_actu in `find $1`
  2. do
  3.     echo $nom_actu
  4. done


si je fais :

$fixer_nom_espace .


avec le PATH qui va bien (bien sur...)
 
ben pour peu que dans . il y ait un repertoire qui s'appelle "photo juin 2003"
 
j'ai :

$fixer_nom_espace .
photo
juin
2003


 
 
...


Message édité par Naamah le 23-11-2004 à 18:50:17

---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 23-11-2004 à 19:02:07    

en fait en faisant :

Code :
  1. #!/bin/bash
  2. for nom_actu in `find $1 | sed -e 's/\ /_/g'`
  3. do
  4.     echo "$nom_actu"
  5. done
  6. exit


 
j'ai bien une occurence par repertoire mais pour renommer (mv ou rename), comment savoir si le nouveau nom de repertoire qui contient un '_' correspont à un ancien ' ' ou un ancien '_' ???
 
je sais pas si je suis tres clair...


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 23-11-2004 à 19:09:12    

non :D

Reply

Marsh Posté le 23-11-2004 à 19:14:35    


koi non? :heink:


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 23-11-2004 à 19:14:35   

Reply

Marsh Posté le 23-11-2004 à 19:15:24    

c'est pas clair

Reply

Marsh Posté le 23-11-2004 à 19:17:17    

bon je reprend, j'ai un repertoire qui rassemble plus de 8Go de photos perso classes dans des sous rep qui parfois ont des noms avec des espaces. je veux les renommer en remplacant les espaces par des '_'.
je veux pas me taper tou a la main --> scripts shell (j'adore)
 
voila :hello:


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Marsh Posté le 26-11-2004 à 23:17:20    

void_ppc a écrit :

et avec rename ?


 
rename ' ' '_' *

Reply

Marsh Posté le 28-11-2004 à 11:10:36    

yank a écrit :

rename ' ' '_' *


excellent,defois on s'embete pour rien...
merci beaucoup


---------------
Gestion de collection Magic 100% gratuite -> www.magiccollec.com
Reply

Sujets relatifs:

Leave a Replay

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