rename script ( "_"zu " " )

  • hallo,
    Ich suche ein Script das alle Dateien eines Ordners umbenennt !?
    Umbennen von "Der_Film" nach "Der Film"


    Habe leider keine Ahnung vom Skripten.... :loudly_crying_face:


    Hat zufällig jeman so was oder ähnliches, welches ich anpassen kann ?


    Thx

  • Hallo.


    Dein Post ist schon älter aber vielleicht braucht es ja noch wer:




    Beispiel Ausgabe:




    Wie immer:
    Verwendung auf eigene Gefahr.Sollten "_" selbst im Pfad sein wie zb /media/hdd/TEST_FOLDER wird es nicht funktionieren.


    Grüße

    -->
    openwrt + minicom + screen = 24/7 Bootlog

    7 Mal editiert, zuletzt von Schnello ()

  • Schöner Ansatz, aber ich würde das mit find machen und nur nach files suchen (directories werden dann gar nicht erst angezeigt).


    Ich würde aber auch den search und replace string mitgeben, dann ist das script universell einsetzbar. Und dann vielleicht auch noch find die -maxdepth mitgeben, z.B. 1 nur in dem Verzeichnis, 2 in dem Verzeichnis und alle Unterordner eine Ebene tiefer usw. Mit z.B. r rekursiv suchen


    und dann so aufrufen:
    renamescript.sh /media/hdd/testfolder r "_" " "


    sucht/unbenennt in /media/hdd/testfolder samt allen Unterverzeichnissen alle Dateien mit einem "_" im Namen durch den gewünschten replace string.


    würde nur in /media/hdd/testfolder suchen/umbennenn:
    renamescript.sh /media/hdd/testfolder 1 "_" " "

    Gruß Fred


    Die Dreambox ist tot, es lebe die Dreambox


    Einmal editiert, zuletzt von Fred Bogus Trumper ()

  • Ja viele Wege führen nach Rom :)


    Ich habe aber absichtlich nicht "find" verwendet da "find" je nach alter der Software einfach unterschiedliche Parameter hat. Hätte ich es für mich geschrieben... ja hätte ich find verwendet.


    Das mit dem Dir aber stimmt und habe ich nun ausgebessert.



    Grüße

    -->
    openwrt + minicom + screen = 24/7 Bootlog

    2 Mal editiert, zuletzt von Schnello ()

  • Das Argument mit den unterschiedlichen find Optionen je Version stimmt allerdings


    find -type [f|d|l|b|c] sollte eigentlich in jeder Version funktionieren - zumindest klappt das auch im OE2.0 und DreamOS.


    Aber schon mal wieder mal was von dir zu lesen, hast dich in letzer Zeit ganz schön rar gemacht

    Gruß Fred


    Die Dreambox ist tot, es lebe die Dreambox


  • Zitat

    Aber schon mal wieder mal was von dir zu lesen, hast dich in letzer Zeit ganz schön rar gemacht


    Danke :) Jo ich kuck nur mehr sehr wenig TV und steck meine Zeit am Abend in div games von Blizzard.
    Und auch schön zu sehen das du noch aktiv bist. Jemand muss den Leuten ja helfen beim scripten. :top:



    Zitat

    Das Argument mit den unterschiedlichen find Optionen je Version stimmt allerdings


    find -type [f|d|l|b|c] sollte eigentlich in jeder Version funktionieren - zumindest klappt das auch im OE2.0 und DreamOS.


    Ja und der worst case ist das er es zb auf dem NAS direkt verwenden will.
    Gutes Beispiel ist auch:

    Code
    echo "rename $f file...to "$(echo "$f" | sed 's/_/ /g')""


    Eigentlich würde ich das so schreiben (ohne das verpönte extra echo)

    Code
    mv "$f" "$(sed 's/_/ /g' <<< $f)"


    Funktioniert aber leider auf der/(meiner) alten Dream nicht.



    Grüße

    -->
    openwrt + minicom + screen = 24/7 Bootlog

    Einmal editiert, zuletzt von Schnello ()

  • Datei kopieren:
    Hab’s so gelöst. (Ist nicht von mir)


    #!/bin/sh
    PATH1=/usr/share/fonts/
    FILE1=DejaVuSans.ttf
    PATH2=/usr/lib/enigma2/python/Plugins/Extensions/*/*
    FILE2=xxx.ttf
    echo ""
    echo "copy DejaVuSans.ttf ...."
    cp -f $PATH1$FILE1 $PATH2$FILE2
    echo "to xxx.ttf (done)"
    echo ""


    Und nun möchte ich einen Orden mit Unterordner kopieren.
    Wie mach man das am einfachsten??
    Thx