Umbennen Dateien mit Dateiendung \

  • Hallo,


    habe mir ein paar dateien mit wget von einem ftp gezogen. Leider haben alle Dateien die Dateiendung plus \ (z.B aaa\)... gibt es vielleicht eine Möglichkeit die Dateien in einem Rutsch umzubennen? Es sind keine Ordner!


    Ich weiss es gab mal ein Script das hat das % von geschnitten Aufnahmen entfernt, aber das funktioniert nicht. Problem ist das die Dateien nur mit dem mv Befehl den \ anzeigen sonst per ls -l ist es nicht zu sehen. Verschieb man die Dateien von .aaa\ nach .aaa geht die Datei ganz normal.


    Aufruf wget zur Info:


    wget -i $dlist -nc -T 120 -c -P /aaa/bbb/ccc/$1


    Vielleicht hat ja jemand eine Idee, wäre euch sehr dankbar.

  • 2 x \ = \\



    MFG Ronny

  • Hallo,


    funktioniert leider nicht... fallst du noch lust hast, hier die zusammen geschnittenen fehlermeldungen


  • leider wieder


    Code
    ls: *\: No such file or directory


    ich glaube die dateine sind per ls nicht ansprechbar, wenn ich ls -l eingebe sehe ich ja auch den \ nicht sondern nur:

    file.fff


    wenn ich aber die datei umbennen will geht es:

    mv file.fff\ file.fff


    danach ist die datei wieder ganz normal zu gebrauchen

  • Sind die groß die files?


    Wenn nicht Packe doch mal ein paar und hänge Sie hier an, dann könnte man mal in Ruhe schauen.


    Lasse \\ einfach weg.


    ls * sollte doch langen.


    MFG Ronny

  • leider sind die um die 11 MB groß...


    so mit


    Code
    ls * | awk -F \ '{print "mv -v",$0"\" ,$1}'



    findet er zwar die dateien aber leider ist der mv befehl dann falsch...


    ist:


    Code
    mv file.fff \ file.fff (leerzeichen zwischen fff und \)


    sollte sein:


    Code
    mv file.fff\ file.fff (ohne leerzeichen)



    p.s.: Tut mir leid, wenn ich nerve :)

  • Code
    for i in `seq 9` ; do >$i$i$i\ \ ; done
    
    
    111 \  222 \  333 \  444 \  555 \  666 \  777 \  888 \  999 \


    Somit ein Leerzeichen zwischen * und \ ?


    Mit einem Platzhalter probieren?



    Oder, ist sicherer wegen dem \ am ende?


    Code
    ls * | awk '{ print "mv -v",$1"*\\",$1 }'
    mv -v 111*\ 111
    mv -v 222*\ 222
    mv -v 333*\ 333
    mv -v 444*\ 444
    mv -v 555*\ 555
    mv -v 666*\ 666
    mv -v 777*\ 777
    mv -v 888*\ 888
    mv -v 999*\ 999


    MFG Ronny

  • wenn du mmv hast oder installiren kann würde folgenes funktioniren


    mmv "*\\" #1


    wenn unterverzeichnisse berüksichtich werden sollen mussen sie angegeben werden da es meines wissen keine option für recusiv gibt


    das siet dan so aos


    mmv ./*/"*\\" #1#2
    mmv ./*/*/"*\\" #1#2#3
    je nachdem viefiele ebenen
    get aber nur mit dateien
    fals in der distribution nicht enthalten schau mahl hier http://rpmseek.com/rpm-pl/mmv.html?hl=de&cx=629:M:0


    auserdem informativ dazu http://linux.jrt.de/dateien_umbenennen.htm

  • Allso ich glaube wir gehen das ganze falsch an:


    Kann es sein das dieser \ am Ende eine andere Bedeutung hat, als das Zeichen an sich? Denkt Linux vielleicht es ist ein Verzeichnis und keine Datei?


    Wenn ich mir die Datei unter Windows anschaue ist die Dateiendung auch ganz normal (file.fff) ist aber nicht Verknüpft mit dem entsprechenden Programm.


    ein ls -l bringt


    Code
    -rw-r--r--    1 root     root     10480087 Nov 25 03:51 file.fff


    ein ls *.fff bringt

    Code
    ls: *.fff: No such file or directory


    nur nach mv *.fff\ *.fff ist die Datei wieder per ls *.fff und mit entsprechenden Windowsprogramm verknüpft


    Vielleicht wiederhole ich mich aber ich glaube alle Lösungen die über ls gehen funktionen nicht da die Datei weder über ls *.fff noch über ls *.fff"\\" zu erreichen sind.


    Was kann der \ am Ende noch Bedeuten?

  • Sorry Windows ist nicht meins, vielleicht kennt sich ja wer mit MS Produkten aus.


    Etwas Später ....
    -----------------------
    Azubie meint "Windows Commander" hätte ein mehrfach umbennen Tool?


    MFG Ronny

  • Zitat

    Original von eRulez_
    Hat nichts mit Windows zu tun... kommt mit der Datei wg des \ nicht klar... Umbennant ohne \ keine Probleme...


    Sorry Topic: Umbennen Dateien mit Dateiendung \


    Erst *\


    Dann * \


    Dann mußt Du mal mehr Infos posten, mit dem bischen kann keiner etwas anfangen.


    kommt mit der Datei wg des \ nicht klar?


    (W)ohn(G)emeinschaft?


    Ansonnsten: http://tldp.org/LDP/abs/html/, da findest Du für jegliches Problem eine Lösung, kann man auch alles komplett Downloaden, mit Samples.


    MFG Ronny

  • Zitat


    (W)ohn(G)emeinschaft?


    wg = wegen


    Zitat

    Ansonnsten: http://tldp.org/LDP/abs/html/, da findest Du für jegliches Problem eine Lösung, kann man auch alles komplett Downloaden, mit Samples.


    Alles klar werde es dar mal probieren


    Zitat


    Dann mußt Du mal mehr Infos posten, mit dem bischen kann keiner etwas anfangen.


    Denke habe das schon gut erklärt, ist halt ein bisschen schwerig. Möchte mich nicht streiten, vielen Dank für deine Bemühungen. Werde schon eine Lösung finden.


    cu eRulez

  • was ich bei der sache nicht ganz kapiere ist der output


    Zitat

    ein ls -l bringt


    Code
    -rw-r--r--    1 root     root     10480087 Nov 25 03:51 file.fff


    wie kommst du dann drauf das die Datei ein "\" hinten dran hat.
    Wenn ich eine Datei mit touch file.fff\\ anlege und ein ls -l mache dann sehe ich auch file.fff\
    und mit ls -l *.fff\\ sehe ich file.fff\


    Kannst du mir das bitte näher bringen?
    Wie verhält es sich wenn du selbst eine solche Datei mit touch anlegst?


    was sagt ls file1.fff\\| od -x



    Silent

  • also:


    Code
    ls file.fff |od -x
    
    
    ls: file.fff No such file or directory
    0000000


    Code
    ls file.fff\ |od -x
    
    
    0000000 6577 6c73 7965 635f 616c 6b72 2d65 7469
    0000020 6c6c 625f 5f65 6b6f 5f5f 726f 6769 6e69
    0000040 6c61 635f 756c 5f62 696d 2d78 7473 6e61
    0000060 6164 6472 6d2e 3370 0a20
    0000072


    Code
    ls file.fff\ |od -x
    
    
    ls: file.fff\ No such file or directory
    0000000
  • Versuch mal


    ls -b


    dann druckt ls auch alle nicht druckbaren Zeichen als Oktal Werte aus.


    Ansonsten helfe ich mir bei solchem Kram immer einfach mit dem mc=midnight-commander also einem Norton-commander Clone aus alten DOS Zeiten.

  • abgesehen davon das ich in meiner shell, bei ls file.fff\ folgenden output bekomme


    >ls file.fff\ |od -x
    ls: file.fff : Datei oder Verzeichnis nicht gefunden
    0000000


    ergibt dein output

    Code
    0000000 6577 6c73 7965 635f 616c 6b72 2d65 7469
    0000020 6c6c 625f 5f65 6b6f 5f5f 726f 6769 6e69
    0000040 6c61 635f 756c 5f62 696d 2d78 7473 6e61
    0000060 6164 6472 6d2e 3370 0a20
    0000072


    wesley_clarke-itll_be_ok__original_club_mix-standard.mp3


    sagt dir das was ?????


    jetzt kenn ich mich aber auch nicht mehr aus


    auf meinem Linuxsystem ergibt ls file.fff\\ |od -x

    Code
    > ls file.fff\ |od -x
    0000000 6966 656c 662e 6666 0a5c
    0000012


    kann das Filesystem defekt sein !??


    Silent

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!