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
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
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
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:
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
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!
Bundygirl Geschrieben 27. September 2005 Autor Geschrieben 27. September 2005 ich fahr jetzt heim also ich bin morgen wieder gegen halb 10 erreichbar!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden