[LINUX + PYTHON] Klein und Großschreibung von Dateien und Ordnern

  • Hallo, also bevor ich was schreibe, ich weiß nicht ob das erlaubt ist sowas zu fragen, aber es steht nichts in den Regeln davon dass man was über Linux fragen/nicht fragen darf, ich habe ein kleines Problem mit Linux, Linux nimmt die Klein und Großschreibung von Dateien und Ordnern ja sehr ernst, im gegensatz zu Windows. Naja nun hat hier so ein "trottel" der zu faul war alles klein zu schreiben manche Ordner und Dateien klein geschrieben (Ein GarrysMod Addon ^^). Nun ist das Addon nicht mehr für Linux kompatible... Nun ich hab von einem Freund ein Python Script bekommen dass alle Ordner und Dateien Namen klein schreiben sollte, aber dies funktionirt nicht so richtig. Er tuht es nur teilweise umbennen. Hier mal der derzeitige Code:



    Ich hoffe dass mir einer ein Script machen kann oder vielleicht dieses korigieren könnte, so dass es sauber und zuverlässlich funktionirt.


    MFG DurtyFree

  • Code
    #! /bin/bash
    i=1
    while(true)
    do
    ordner=`ls | cut -f1 | tail -${i} | head -1`
    if  (( ${#ordner} < 1)) exit 1
    verwandlung=`echo $ordner | tr "A-Z" "a-z"`
    mv ./${ordner} ./${verwandlung}
    let i=i+1
    done


    das wäre ein shell script , dass dir jeden ordner und dateien in dem jetzigen ordner klein schreibt ....


    ps: es ist nicht getestet worden , und auch nicht optimiert ,da es aber eine einmalige sache ist sollte es zum ziel führen


    edit: verbessert

    Einmal editiert, zuletzt von zabus ()

  • Nice, nur wie nutze ich dass ? In eine .sh datei und ausführen (./test.sh?)
    //edit: Wenn ich es als .sh ausführen will kommt

    Zitat

    ./rename.sh: Zeile 6: Syntaxfehler beim unerwarteten Wort `exit'
    ./rename.sh: Zeile 6: `if (( ${#ordner} < 1)) exit 1'

    //Edit 2: Diese Scripts hab ich noch gefunden:

    Zitat

    for i in `ls $TARGETDIR`;
    do echo $i | mv $TARGETDIR/$i $TARGETDIR/`tr '[A-Z]' '[a-z]'`;
    done
    exit 0;


    Aber keine Ahnung wie die funktioniren ^^

    DIK2gXr.png

    2 Mal editiert, zuletzt von DurtyFree ()

  • upps kleiner fehler unterlaufen ^^



    die datei erstellen (muss nicht .sh heißen linux sind die dateiendungen egal)
    auf linux dann chmod u+x [Dateiname]
    und dann mit ./[Dateiname] ausführen


    edit: anleitung hinzugefügt