[Linux] Renommer des fichiers à la volé

Renommer des fichiers à la volé [Linux] - Linux et OS Alternatifs

Marsh Posté le 03-06-2004 à 18:15:18    

Bonjours,
 
Suite à un héritage de données venant de Windows j'ai une arborescence contenant des fichiers dont le nom sont en majuscules et d'autre sont en minuscules.
 
Je voudrais tout metre en minuscules.
 
Comment faire?
 
J'ai essayé d'exporter un ls vers un ficheir puis de passer les entrées de ce fichier en minuscule avec dd mais je séche.
 
Merci.


Message édité par nicephore17 le 06-06-2004 à 15:39:22

---------------
Mac Pro powered (sorry)
Reply

Marsh Posté le 03-06-2004 à 18:15:18   

Reply

Marsh Posté le 03-06-2004 à 18:28:15    


rename 'y/A-Z/a-z/' *


 
a lancer dans le rep contenant les fichiers

Reply

Marsh Posté le 03-06-2004 à 19:53:39    

En fait c'est:
 

Code :
  1. rename y/A-Z/a-z/ *


 
Excellent, merci bien.


Message édité par nicephore17 le 09-06-2004 à 17:34:49

---------------
Mac Pro powered (sorry)
Reply

Marsh Posté le 03-06-2004 à 19:54:20    

ah ? chez moi (bash) ca marche aussi bien avec les ' que dans

Reply

Marsh Posté le 05-06-2004 à 15:36:30    

Pour info je suis sous ZSH.
Une autre petite question, penses tu qu'il ait moyen de le rendre récursif vers les sous-repertoires?


Message édité par nicephore17 le 06-06-2004 à 15:40:40

---------------
Mac Pro powered (sorry)
Reply

Marsh Posté le 05-06-2004 à 17:06:32    

La je suis pas sous linux, donc au pif : t'as essaye un -R ou -r (et puis y'a bien notre ami man aussi... non ?)  :jap:

Reply

Marsh Posté le 05-06-2004 à 17:11:20    

avec un find

Reply

Marsh Posté le 05-06-2004 à 17:49:55    

for i in *  
do
  if [-d $i]
  then
     on relance le programme ici
   elsif [-f $i]
     rename letruc $i
   fi
done

Reply

Marsh Posté le 06-06-2004 à 15:42:40    

A ce propos... où puis je trouver un bon tutorial sur la rédaction de scripts simple et l'utilisation de boucles sous Linux?


---------------
Mac Pro powered (sorry)
Reply

Marsh Posté le 06-06-2004 à 15:44:05    

Reply

Marsh Posté le 06-06-2004 à 15:44:05   

Reply

Marsh Posté le 05-03-2008 à 16:35:49    

j'ai modifié un script qui passe en miniscule les noms de fichiers et dossiers de l'arborescence en perl..

Code :
  1. #!/usr/bin/perl -w
  2. #
  3. use strict;
  4. my $path_to_dir = $ARGV[0];
  5. dir("$path_to_dir" );
  6. print $ARGV[0];
  7. sub dir {
  8.     opendir(DIR,"$_[0]" );
  9.     my @list_of_files = readdir(DIR);
  10.     foreach(@list_of_files) {
  11.     ##print $_; 
  12.          if($_ ne "." && $_ ne ".." ) {
  13.                if(-d "$_[0]/$_" ) {
  14.                     dir("$_[0]/$_" );
  15.                     rename "$_[0]/$_","$_[0]/"."\L$_";}
  16.                else {
  17.                     rename "$_[0]/$_","$_[0]/"."\L$_";
  18.                     }
  19.                }
  20.           }
  21.     }


Message édité par isanaud le 05-03-2008 à 16:37:29
Reply

Marsh Posté le 05-03-2008 à 16:37:39    

c'te déterrage [:psywalk]
c'te code [:ciler]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 05-03-2008 à 17:20:01    

j'ai fait pas mal de recherche sur le net et je n'ai pas trouvé de script qui marchait en recursif mis à part celui la, donc je le propose.

Reply

Sujets relatifs:

Leave a Replay

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