find exec und mv: Fehlermeldung trotz Erfolg

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Wlet, 12.06.2006.

  1. Wlet

    Wlet Grünschnabel

    Dabei seit:
    12.06.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,

    ich habe mir ein kleines Shellskript gebastelt, was die Aufgabe hat, ein Verzeichnis zu durchsuchen, und falls es darin einen oder mehrere Ordner hat diese zu verschieben:

    Code:
    #!/bin/bash
    
    SCPROOTDIR=/root/adir
    PUBDIR=oeffentlich
    
    PUBGAL=/root/pubgal/albums/
    
    cd $SCPROOTDIR"/"$PUBDIR
    find . -not -name "." -type d -exec mv --reply=yes {} $PUBGAL \;
    
    Das Skript an sich funktioniert, nur erhalte ich, wenn sich darin bspw. ein Ordner "My Pictures" befindet die Fehlermeldung:
    find: ./My Pictures: No such file or directory

    Warum ist das so, bzw. was ist an o.g. Statement falsch?

    mfg

    wlet
     
  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. #2 Xanti, 12.06.2006
    Zuletzt bearbeitet: 12.06.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Das Problem ist, dass find eine Liste von gefundenen Dirs erstellt und diese dann mittels -exec abarbeitet. Wenn zum Beispiel ein Verzeichnis abc und darin ein Verzeichnis def hast, dann sieht die Liste von find derart

    Code:
    abc
    abc/def
    
    aus. Wenn nun abc bewegt wird, dann ist abc/def nicht mehr gültig. Du kannst das vermeiden, indem Du die Rekursionstiefe von find einschränkst.

    Gruss, Xanti
     
  4. Wlet

    Wlet Grünschnabel

    Dabei seit:
    12.06.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Hi,

    danke für den Hinweis.

    Ich hab jetzt mal noch ein wenig gesucht bzw. manpage gelesen. Mit "-prune" als weiterem Parameter wird die Reihenfolge umgedreht, und damit bin ich die Fehlermeldung los.

    cu

    Wlet
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Da hast Du die man-page nicht ausreichend gelesen, denn Deine Aussage bezüglich -prune stimmt so nicht. Mit -prune wird nur verhindert, dass find in die Verzeichnisse absteigt. Wahrscheinlich ist das aber genau das, was Du suchst.

    btw, die -depth-Option ist auch hilfreich bei solchen Problemen.

    Gruss, Xanti
     
  6. #5 Schlaubi_fi.de, 12.06.2006
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Hi,

    kann es nicht auch sein, dass er wegen dem Leerzeichen im Dateinamen meckert?
     
  7. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Nicht bei meinem find. Ich denke find übergibt den Dirnamen als String. Finde aber auch gerade nix dazu in der manpage.

    Gruss, Xanti
     
  8. #7 root1992, 12.06.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Soviel ich weiß, unterscheiden sich der find ein wenig zwischen BSD und linux.
     
  9. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    @schlaubifi: Da der Fehler bei -prune verschwindet, vermute ich mal, dass es nicht an Leerzeichen lag.

    @root1992: Ja, find ist unter FreeBSD und Linux marginal verschieden. Richtig unterscheiden sich die xargs-Versionen, was doch recht nervig ist.

    Gruss, Xanti
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 root1992, 12.06.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Jepp, da musste ich erst mal alle Shs ausbessern, in denen ich find benutzt habe.
     
  12. #10 Schlaubi_fi.de, 13.06.2006
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    hmm könntest recht haben...
     
Thema:

find exec und mv: Fehlermeldung trotz Erfolg

Die Seite wird geladen...

find exec und mv: Fehlermeldung trotz Erfolg - Ähnliche Themen

  1. find -exec

    find -exec: Hallo, Mit find ... -exec <irgendwas> \; kann man ja für jede durch find gefundene Datei einen Befehl ausführen lassen. Leider habe ich bisher...
  2. find mit 2 exec commands

    find mit 2 exec commands: Hi ! Also was ich gerne machen würde ist im Verzeichnisss Musik und allen Unterverzeichnissen bei jeder ogg Datei ogg2mp3 aufrufen, und direkt...
  3. mit find und exec Dateien aus verzeichnis kopieren

    mit find und exec Dateien aus verzeichnis kopieren: Hallo, ich möchte über eine Schleife aus einer Textdatei Dateinamen auslesen. Diese Dateien sollen auf der Festplatte in einem bestimmten...
  4. Findet bei kxmame keine executables

    Findet bei kxmame keine executables: Servus, da ich ein leidenschaftlicher Konsolero bin und über eine stolze Sammlung diverser Nintendo Spiele verfüge wollt ich mir mal den...
  5. Unterschied zwischen xargs und -exec unter FIND?

    Unterschied zwischen xargs und -exec unter FIND?: Guten Morgen Linux Freunde, ich frage mich, was ist der Unterschied zwischen xargs und -exec unter FIND? sprich: ---------- find /...