Dateinamen umbenennen - erster Buchstabe

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Zico, 02.03.2005.

  1. #1 Zico, 02.03.2005
    Zuletzt bearbeitet: 02.03.2005
    Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    Hi Leute

    Ich bin gerade dabei - bzw. immer noch - meine alten Descent Games nen bissl aufzuplieren mit den Linux Ports.
    Jetzt wollte ich noch meine ca. 5000 Extra Levels (pro Level 2 Files oder mehr) in das Spiel einbringen. Beim Ausprobieren is mit denn aufgefellen, dass viele Levels nicht funktionieren.

    Der Grund dabei ist folgender:
    Das Spiel sucht nach einer informationsdatei Namens "Level.msn" und bei Start des Levels wird dann die entsprechende Datei "Level.hog" oder "Level.rdl" geladen.
    Und da fängt das Chaos an, denn das Spiel sucht diese Files CASE SENSITIV. Und zwar genau so wie beschrieben. Vorne ein Grossbuchstabe und der Rest klein. Das schöne ist, dass sämtliche Files gerade eben NICHT so geschrieben sind sonder oft:
    LEVEL.MSN, level.hog, LEVEL.HOG oder LEVEL.hog etc.
    Dabei fällt mir noch grad auf, dass es noch spezielle Files im Verzeichnis gibt, mit einer speziellen Erweiterung, die dann NICHT umbenannt werden sollen. ARGH.

    Ich habe ja schon viel gesucht und auch ein Script gefunden die LEvel einheitlich umzubenennen. Komplette groß und/oder Kleinschreibung funktioniert ja per Scriipt. Aber jeweils nur den erstenBuchtaben umzubenennen , da bin ich und auch google wohl sehr überfragt. Gibt es da ne Möglichkeit oder muss ich das alles per Hand machen?


    EDIT: Falls es wen interessiert, ich habe die Lösung mittlerweile mit nem guten Kumpel raus:

    Erstmal nennen wir alles zu Kleinbuchstaben um

    Code:
    for f in * ; 
    do n=`ls $f | tr [:lower:] [:upper:]`; 
    mv $f $n; 
    done
    Dann find-en wir per regex alle erweiterungen die benötigt werden und nennen dort per Perl das erste Zeichen um.
    der printf schalter von find kümmert sich dann darum, dass die ausgabe nicht ./TEXT lautet und das Script nicht versucht den Punkt gross zu schreiben. Und so siehts dann aus:

    Code:
    for f in `find -regex ".*.[hog|HOG|msn|MSN|mn2|MN2]$" -printf '%P''\n'`;
    do mv $f `perl -e "print ucfirst('$f')"`;
    done
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 kingdom, 04.03.2005
    kingdom

    kingdom Mitglied

    Dabei seit:
    28.06.2004
    Beiträge:
    34
    Zustimmungen:
    0
    Ort:
    Deutschland
    Hallo

    Hast du perl installiert?
    Ich bin zwar noch perl-Anfänger, aber es war eine gute Übung und müßte funktionieren.

    Also hier kommt das skript:

    #!/usr/bin/perl -w
    use strict;

    my $input="";
    my $output="";

    opendir(DIR, ".");

    while (defined($input=readdir(DIR))){
    if($input=~/.+\..+/){
    $output=$input;
    $output=~s/^(\w)(.*\..+)/\u$1\L$2/;
    rename $input, $output;
    }
    }
    closedir(DIR);

    Clemens
     
Thema:

Dateinamen umbenennen - erster Buchstabe

Die Seite wird geladen...

Dateinamen umbenennen - erster Buchstabe - Ähnliche Themen

  1. script zum umbenennen von dateinamen

    script zum umbenennen von dateinamen: hi, nachdem mein k3b andauernd mit dateinamen nicht klar kommt, die sonderzeichen haben oder zu lang sind (obwohl rock ridge und joliet...
  2. sonderzeichen in dateinamen > umbenennen

    sonderzeichen in dateinamen > umbenennen: hallo zusammen... ich hab hier ein kleines problem mit sonderzeichen auf dem server, die dann nicht mehr korrekt per samba auf einen winrechner...
  3. [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind

    [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind: Moin Gemeinde, ich habe ein Skript welches Emails abholt und weiterverarbeitet, manche müssen ausgedruckt werden. Nun hat sich herausgestellt...
  4. Einfaches Shellscript - dateinamen ändern

    Einfaches Shellscript - dateinamen ändern: Hey, kann mir jemand vielleicht bei diesem miniscript helfen? ich habe dateien die folgendermaßen aussehen MM-DD-YY-dateiname und...
  5. Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?

    Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?: Hi Leute. Ich habe ein kleines Problem. Ich möchte mittels Bash nach bestimmten pattern in Dateinamen suchen und diese durch "nichts"...