Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Unix Shell Dateien umbenennen via Liste aus Textfile

  1. #1
    Registrierter Benutzer
    Registriert seit
    Nov 2013
    Beiträge
    3

    Question Unix Shell Dateien umbenennen via Liste aus Textfile

    Hallo,

    ich hoffe, dass mir hier jemand weiter helfen kann mit meinem Problem.

    Ich versuche einen Skript zu schreiben, mit dem ich Dateien in einem Ordner über eine Liste mit neuen Dateinamen, umbenennen kann.

    Hier ist mein Skript.
    Sollte soweit funktionieren, nur dass

    datei= sed -ne ${i}p /Testordner/Neue_Dateinamen.txt

    scheinbar nicht funktioniert. Ich bin etwas ratlos...

    #!/bin/bash

    cd /Testordner/dateien/

    for i in {1..100}
    do
    var=( $(ls) )
    #echo ${var[i-1]}

    datei= sed -ne ${i}p /Testordner/Neue_Dateinamen.txt
    #echo datei

    mv ${var[i-1]} datei

    done


    Viele Grüße
    Geändert von Chris1982 (22.11.13 um 00:41 Uhr)

  2. #2
    naraesk
    Gast
    Was heißt denn funktioniert nicht?

    Code:
    datei= sed -ne ${i}p /Testordner/Neue_Dateinamen.txt
    Das Leerzeichen nach dem Istgleich-Zeichen stört die Bash.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    ... und da würden generell noch so ein paar Dinge wie $ ( und evtl. auch noch anderes fehlen.

    [code]-Tags sind übrigens gern gesehen, das wäre ein wahrer Wohlgenuss für die optische Darstellung...
    Ich bin root - ich darf das.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Nov 2013
    Beiträge
    3
    Sorry,

    das mit dem Code Tag habe ich gestern Nacht nicht mehr wirklich wahr genommen. Das mit dem Leerzeichen stimmt. Wenn ich kein Abstand lasse, kommt allerdings eine Fehlermeldung. Dürfte wohl an einem weiteren Fehler in dieser Zeile liegen

    Code:
    #!/bin/bash
    
    cd /Testordner/dateien/
    
    for i in {1..100}
    do
    var=( $(ls) )
    #echo ${var[i-1]}
    
    datei= sed -ne ${i}p /Testordner/Neue_Dateinamen.txt
    #echo datei
    
    mv ${var[i-1]} datei
    
    done

  5. #5
    Registrierter Benutzer
    Registriert seit
    Nov 2013
    Beiträge
    3
    Konnte das Problem inzwischen selbst lösen.
    Kann sein, dass sich im Code immer noch ein paar unschöne Dinge befinden, aber er macht was er machen soll.


    Code:
    #!/bin/bash
    
    cd /Testordner/dateien/
    
    for i in {1..100}
    do
    var=( $(ls) )
    dateiname_alt=${var[i-1]}
    echo $dateiname_alt
    dateiname_neu=($(sed -ne ${i}p /Testordner/Neue_Dateinamen.txt))
    echo $dateiname_neu
    mv $dateiname_alt $dateiname_neu
    
    done

Ähnliche Themen

  1. probleme mit postfix
    Von revuser im Forum Linux als Server
    Antworten: 11
    Letzter Beitrag: 27.07.09, 11:17
  2. Postfix & Cyrus-Imap
    Von nr8 im Forum Linux als Server
    Antworten: 22
    Letzter Beitrag: 14.06.06, 17:03
  3. hat gerade jemand zugriff "top protokoll"
    Von operateallbrand im Forum X-Konfiguration
    Antworten: 6
    Letzter Beitrag: 24.01.06, 22:07
  4. ausgabe ps ax (evtl trojaner oder so)
    Von bullet4one im Forum Sicherheit
    Antworten: 1
    Letzter Beitrag: 14.07.03, 00:52
  5. trafic ohne ende Hilfe
    Von klaus100000 im Forum Anbindung an die Aussenwelt
    Antworten: 5
    Letzter Beitrag: 05.01.03, 11:56

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •