Dateien umbenennen (Name mit Leerz.)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von baju, 25.04.2008.

  1. baju

    baju Jungspund

    Dabei seit:
    17.09.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Ich möchte alle Dateien eines Ordners umbenennen, und zwar soll
    - vorn dran der Tag und _, zB "25_"
    - ans Ende der Typ ".png"
    Das sollte folgendes Scriptteil erledigen: (bin/bash)

    for file in `ls `
    do
    neuname=$tag\_$file.png
    mv $file $neuname
    done

    Solange der alte Dateiname nur aus einem Wort besteht, klappt das auch. Bei mehreren Worten (zB "Erwachsene als Zielgruppe" soll "25_Erwachsene als Zielgruppe.png" werden) geht daas nicht.

    Was mache ich da falsch?

    Gruß Jutta
     
  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. Psyjo

    Psyjo Routinier

    Dabei seit:
    15.11.2005
    Beiträge:
    259
    Zustimmungen:
    0
    Ort:
    Hinter'm Berg
    Hi!

    Die Anführungszeichen sind hier wichtig! "Erwachsene als Zielgruppe.png" so müssen die Leerzeichen nicht extra terminiert werden. Also einfach die "$Variablen" in "$Anführungszeichen" setzen.

    Gruß
    Psyjo
     
  4. baju

    baju Jungspund

    Dabei seit:
    17.09.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Danke erst mal für die Antwort.
    Ich habe alle möglichen Varianten ausprobiert, aber ohne Erfolg
    for file in `ls `
    do
    neuname=$tag\_$file.png
    echo $neuname
    mv "$file" $neuname
    done

    Der neue Name wird richtig erzeugt, aber das mv funzt nicht!


    Gruß Jutta
     
  5. #4 Gott_in_schwarz, 25.04.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Das Problem beginnt bereits bei der for Schleife, denn nach der Comand-Substitution steht dort dann sowas wie:
    Code:
    for file in datei2.avi datei mit leerzeichen.avi datei3.avi; do 
      # foo
    done
    Dafür gibt es read, in Verbindung mit while-Schleife:
    Code:
    ls|while read file; do
       # foo
    done
    Und immer schön alle Variablen in double-quotes packen, grade wenn du weißt, dass du mit Dateinamen, die Leerzeichen enthalten arbeitest...
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Dateien umbenennen (Name mit Leerz.)

Die Seite wird geladen...

Dateien umbenennen (Name mit Leerz.) - Ähnliche Themen

  1. Dateien. die '.jpg' heißen umbenennen

    Dateien. die '.jpg' heißen umbenennen: :hilfe: Ich bin zur Zeit dabei, mein Fotoarchiv mittels exiftool zu sortieren, das klappt alles auch ganz gut, allerdings habe ich es...
  2. Dateien von Linux nach Win verschieben und doppelte Dateien automatisch umbenennen.

    Dateien von Linux nach Win verschieben und doppelte Dateien automatisch umbenennen.: Also unter Linux können Namen von Dateien Zeichen in gross oder Kleinschrift haben und werden dennoch als unterschiedliche Dateien erkannt. Unter...
  3. Per Shell Script CSV-Datei auslesen, anschliessend Dateien umbenennen

    Per Shell Script CSV-Datei auslesen, anschliessend Dateien umbenennen: Hallo Board, ich habe eine CSV datei, in der Name;Vorname;RECNUMBER;AUSBILENDE;Geburtsdatum;Geschlecht;Klasse...
  4. Von Streamingserver angelegte Dateien umbenennen + in Verzeichnisse einordnen

    Von Streamingserver angelegte Dateien umbenennen + in Verzeichnisse einordnen: Hallo, bin schon ne Weile daran, eine gescheite Methode zu finden, die Audiodateien eines Streamingservers automatisch in Verzeichnisse...
  5. Mehrere Dateien umbenennen

    Mehrere Dateien umbenennen: Servus, ich hab mir mal wieder eine Ladung Alben von www.jamendo.com runtergeladen, dabei hat mich mal wieder gestört das bei den Musiktiteln...