[Vienna-pm] tip fuer script

Marcel Grünauer marcel at noug.at
Sun Sep 7 08:22:40 CDT 2003


Hallo,

On Sonntag, September 7, 2003, at 02:59  Uhr, Michael Ebner wrote:

>   ich suche eine Script (perl) mit dem ich Dateinamen inklusive
>   Unterverzeichnise normalisieren kann.
[...]
>   Am liebsten waere mir ein Script bei dem ich das für bestimmte
>   Zeichen festlegen kann, für andere Zeichen die unbekannt sind einfach
>   irgend ein Standard Zeichen.

ich verwende da immer das 'rename'-Programm; ich hab's bei einigen
Linux-Distros schon gesehen, aber es ist trivial:

#!/usr/bin/perl
$operation = shift;
for (@ARGV) {
     $had_been = $_;
     eval $operation;
     rename($had_been, $_) unless $had_been eq $_;
}

Wenn Du etwa alle .mp3-Dateien in einem Directory auf lowercase
bringen und die Blanks durch Underscores ersetzen willst:

rename '$_=lc;s/\s+/_/g' *.mp3

Und um solche Operationen auf allen oder bestimmten Dateien in
einem Verzeichnisbaum auszufuehren, kombiniere es mit find(1) und
evtl. xargs(1):

find . -name \*.mp3 | xargs rename '$_=lc;s/\s+/_/g'

bzw.

find . -name \*.mp3 -exec rename '$_=lc;s/\s+/_/g' {} \;

Lg,

Marcel




More information about the Vienna-pm mailing list