Bundygirl Geschrieben 27. September 2005 Geschrieben 27. September 2005 Hi nochmal, ich hab schon weiter unten gepostet und hab da das genaue Problem geschildert: Jetzt hab ich das Skript starten können mit: /usr/local/bin/bash /tmp/test/Copy.sh Skriptinhalt: for i in `find /raid0/akzidenzen -type d -name 'layouts'` ; do [[ $i == /raid0/lay_sammler/* ]] && continue; cp -r $i /raid0/lay_sammler/`echo $i | cksum | cut -d' ' -f1` done Jetzt hat das Skript "nur" noch nen Fehler, es wird mir, sooft er einen Ordner findet, folgende Meldung ausgegeben: cp 45 not found (wobei die Zahl variable ist, kann sich allerdings wiederhohlen) ... findet da jemand den Fehler? Es geht im grossen und ganzen darum das aus /raid0/akzidenzen/ sämtliche Ordner mit dem Namen layouts in das Verzeichnis lay_sammler kopiert werden OHNE die Vorhanden zu überschreiben. thx schon mal vornweg Bundygirl Zitieren
shutdown-Frnow Geschrieben 27. September 2005 Geschrieben 27. September 2005 also bei mir läuft das ohne fehler .... aber ist auch unter linux. aber was ich nicht verstehe: cp -r $i /raid0/lay_sammler/`echo $i | cksum | cut -d' ' -f1` das kopiert dir alle dateien aus dem gefundenen verzeichnis in ein verzeichnis unter /raid0/lay_sammler/ das den namen der checksumme von $i (dem gefundenen verzeichnisnamen) hat versteh ich das falsch? wo ist der tiefere sinn dahinter? ich werds gleich nochmal unter solaris testen, ob ich auch deinen fehler gelifert bekomme Zitieren
Bundygirl Geschrieben 27. September 2005 Autor Geschrieben 27. September 2005 hi, der tiefere Sinn darin liegt das die vorhandenen layoutordner nicht überschrieben werden. Es gibt ja schließlich nicht nur einen layoutordner und wenn man mehrere Ordner des selben namens in ein Verzeichnis kopiert wird der schon vorhandene Ordner überschieben. Da ich das für meinen Auftrag überhaupt nicht brauchen kann ist das eine brauchbare lösung, find ich :-) danke das du das skript ausprobiert hast! kann es daran liegen das in den Pfaden auch Umalute wie ö,ä,ü oder auch Punkte(.) vorkommen können, dass ich diesen Fehler bekomme? gruss Bundygirl Zitieren
shutdown-Frnow Geschrieben 27. September 2005 Geschrieben 27. September 2005 nein, ich habs unter solaris getestet ... das problem ist, das der ausdruck echo $i | cksum | cut -d' ' -f1 2 zahlen ausgibt. das erste ist wohl die checksumme, wie schon von mir angesprochen. unter solaris kommt aber noch eine 2. zahl hinzu, hier "man cksum" unter solaris: For each file processed successfully, cksum will write in the following format: "%u %d %s\n" <checksum>, <# of octets>, <path name> ich denke die 2. zahl ist das # of octets, bin mir da aber nicht sicher. fakt ist, das der cp befehl nur 2 argumente erwartet, nämlich quelle und ziel. er bekommt aber 3! die zahl hinter dem cp error "cp: 15 not found" ist diese angesprochene 2. zahl deswegen geht der cp in die hose und deine dateien werden nicht kopiert. auf den ersten blick sollte die zeile die du da hast korrekt sein, aber aus irgendeinem grund funzt der ausdruck -d ' ' nicht. der delimiter wird nicht genommen und -f1 gibt das ganze dingens aus nicht nur die erste zahl. :nett: Zitieren
shutdown-Frnow Geschrieben 27. September 2005 Geschrieben 27. September 2005 und hier die lösung echo $i | cksum | cut -s -d' ' -f1 mach mal ein -s mit rein, das umgeht das zeilenweise auslesen von cut so wie ich das verstanden habe. sonst scheint der das unter solaris nicht zu machen, denke weil der input von der pipe kommt und nicht ein file zeilenweise gelesen wird. unter linux funzt das halt, aber das ist ja auch viiiiieeeeeeel toller als solaris :mod: :bimei Zitieren
Bundygirl Geschrieben 27. September 2005 Autor Geschrieben 27. September 2005 sorry, aber es funzt immer noch nicht :-( die gleichen Meldungen wie eh und je. Bei mir sind aber auch manchmal 2 oder auch nur 1 Zahl zu sehen: cp: 68 not found cp: 81 not found cp: 87 not found cp: 81 not found cp: 70 not found cp: 5 not found cp: 15 not found cp: 70 not found cp: 5 not found cp: 10 not found cp: 18 not found cp: 88 not found cp: 49 not found cp: 7 not found cp: 35 not found cp: 49 not found cp: 7 not found Vielen Dank für deine Mühen! Zitieren
Bundygirl Geschrieben 27. September 2005 Autor Geschrieben 27. September 2005 ich fahr jetzt heim also ich bin morgen wieder gegen halb 10 erreichbar! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.