[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] transformation de noms de fichiers



...
> Je sais comment faire pour é->e, mais pas pour :8e->e
> 
> Des idées ? des pistes ?
> (il y a d'autres conversions à faire, style :94->î,
> mais si je sais faire le première, les autres ne me
> poseront pas de problème)

#!/usr/bin/perl

%map = (
":94" => "î",
":8e" => "è"
);

foreach $file (@ARGV) {
  $changed=undef;
  $file_orig=$file;
  while (($k, $v) = each(%map)) {
    if ($file =~ /$k/) {
      $file=~s/$k/$v/g;
      $changed=1;
    }
  }
  rename($file_orig, $file) $if ($changed);
}

-> à sauver et rendre éxécutable

Ensuite, donne-lui les noms de fichiers en paramètre(s), p.ex. comme ceci:

  my_rename *

ou

  my_rename $(find . -type d)

--
  -o) Pascal Bleser   ATOS Origin/Aachen(DE) |
  /\\         <pascal.bleser@atosorigin.com> |
 _\_v <guru@linuxbe.org>                     |
---------------------------------------------|
Jesus saves,Buddha makes incremental backups :
---------------------------------------------'

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
[ http://unixtech.be              Contact: listmaster@unixtech.be  ]